### View基础属性(文本)
布局设置代码:全部填充 `match_parent` 自适应比例 `warp_content`
1. layout_width:组件的宽度,单位一般是用dp
2. layout_height:组件的高度,单位一般是用dp
3. id:为TextView设置一个组件id
4. text:设置显示的文本内容
5. textColor:设置字体颜色 “#+两位透明度(00-FF)+六位颜色(红绿蓝)”
6. textStyle:设置字体风格,三个可选值:normal(无效果),bold(加粗),italic(斜料体)
7. textSize:字体大小,单位一般是用sp
8. background:控件的背景颜色,可以理解为填充整个控件的颜色,可以是图片
9. gravity:设置控件中内容的对齐方向,TextView中是文字,ImageView中是图片等等
* TextView效果代码
1. android:shadowColor:设置阴影颜色,需要与shadowRadius—起使用
2. android:shadowRadius:设置阴影的模糊程度,设为0.1就变成字体颜色了,建议使用3.0
3. android:shadowDx:设置阴影在水平方向的偏移,就是水平方向阴影开始的横坐标位置
4. android:shadowDy:设置阴影在竖直方向的偏移,就是竖直方向阴影开始的纵坐标位置
5. android:lines:内容分成设定行显示
6. android:focusable:是否可以获取焦点
7. android:focusablelnTouchMode:用于控制视图在触摸模式下是否可以聚焦
8. android:ellipsize:在哪里省略文本,使用marquee即可获得跑马灯效果(必须先设置焦点)
9. android:marqueeRepeatLimit:字幕动画重复的次数
设置焦点时可在 `<TextView> </TextView>` 中间加 `<requestFocus/>`
### Drawable基础属性(按键)
StateListDrawable是Drawable资源的一种,可以根据不同的状态,设置不同的图片效果,关键节点 `<selector >`,只需要将Button的background属性设置为该drawable资源即可实现按下按钮时显示不同的按钮颜色或背景
1. drawable:引用的Drawable位图
2. state_focused:是否获得焦点
3. state_pressed:控件是否被按下
4. state_enabled:控件是否可用
5. state_selected:控件是否被选择,针对有滚轮的情况
6. state_checked:控件是否被勾选
7. state_checkable:控件可否被勾选,eg:checkbox
8. state_window_focused:是否获得窗口焦点
9. state_active:控件是否处于活动状态,eg:slidingTab
10. state_single:控件包含多个子控件时,确定是否只显示一个子控件
11. state_first:控件包含多个子控件时,确定第一个子控件是否处于显示状态
12. state_middle:控件包含多个子控件时,确定中间一个子控件是否处于显示状态
13. state_last:控件包含多个子控件时,确定最后一个子控件是否处于显示状态
上述属性需在 src-main-res-drawable 文件夹中新增一个drawable文件并添加 `````<item>```````````
使用Text相关属性时需将 src-main-res-values 文件夹中的 themes.xml 中的 style name 行 parent 属性最后加上 `.bridge`
### EditText基础属性(输入)
1. android:hint:输入提示
2. android:textColorHint:输入提示文字的颜色
3. android:inputType:输入类型
4. android:drawableXxxx:在输入框的指定方位添加图片
5. android:drawablePadding:设置图片与输入内容的间距
6. android:paddingXxxx:设置所有内容与边框的间距
7. android:background:背景色
利用按键获取输入时按键和文本框都需创建id,并在java文件中调用:
```
private EditText text; //先申明变量
```
```
Button btn = findViewById(R.id.get); //调用变量
text = findViewById(R.id.text);
```
```
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String text = name.getText().toString(); //变量转化
}
});
```
### ImageView基础属性(图片)
1. android:src:设置图片资源
2. android:scaleType:设置图片缩放类型
3. android:maxHeight:最大高度
4. android:maxWidth:最大宽度
5. android:adjustViewBounds:调整view的界限为自适应,容器宽高应设置为 wrap_content
* 图片缩放类型的几种值:
1. fitStart:保持宽高比缩放图片,直到较长的边与lmage的边长相等,缩放完成后将图片放在lmageView的左上角
2. fitCnter:默认值,同上,缩放后放于中间
3. fitEnd:同上,缩放后放于右下角
4. fitXY:对图像的横纵方向进行独立缩放,使得该图片完全适应ImageView,但是图片的宽高比可能会发生改变
5. center:保持原图的大小,显示在lmageView的中心。当原图的size大于lmageView的size,超过部分裁剪处理
6. centerCrop:保持宽高比缩放图片,直到完全覆盖ImageView,可能会出现图片的显示不完全
7. centerlnside:保持宽高比缩放图片,直到ImageView能够完全地显示图片
8. matrix:不改变原图的大小,从lmageView的左上角开始绘制原图,原图超过lmageView的部分作裁剪处理
### ProgressBar基础属性(进度条)
1. android:max:进度条的最大值
2. android:progress:进度条已完成进度值
3. android:indeterminate:如果设置成true,则进度条不精确显示进度
4. style="?android:attr/progressBarStyleHorizontal":水平进度条,内置的特殊进度条形式
### Notification基础属性(通知)
NotificationManager类是一个通知管理器类,这个对象是由系统维护的服务,是以单例模式的方式获得,所以一般并不直接实例化这个对象。在Activity中,可以使用Activity.getSystemService(String)方法获取
NotificationManager对象,Activity.getSystemService(String)方法可以通过Android系统级服务的句柄,返回对应的对象。在这里需要返回NotificationManager,所以直接传递Context.NOTIFICATION_SERVIcE即可。
使用NotificationCompat类的Builder构造器来创建Notification对象,可以保证程序在所有的版本上都能正常工作。Android8.0o新增了通知渠道这个概念,如果没有设置,则通知无法在Android8.o的机器上显示
通知渠道ChannelID:其允许为要显示的每种通知类型创建用户可自定义的渠道
* NotificationManager类中通知渠道设置:
1. IMPORTANCE_NONE:关闭通知
2. IMPORTANCE_MIN:开启通知,不会弹出,但没有提示音,状态栏中无显示
3. IMPORTANCE_Low:开启通知,不会弹出,不发出提示音,状态栏中显示
4. IMPORTANCE_DEFAULT:开启通知,不会弹出,发出提示音,状态栏中显示
5. IMPORTANCE_HIGH:开启通知,会弹出,发出提示音,状态栏中显示
* 常见方法:
1. setContentTitle(String string):设置标题
2. setContentText(gtring string):设置文本内容
3. setSmalllcon(int icon):设置小图标(必须设置,否则会闪退)
4. setLargelcon(Bitmap icon):设置通知的大图标
5. setColor(int argb):设置小图标的颜色
6. setContentlntent(Pendinglntent intent):设置点击通知后的跳转意图
7. setAutoCancel(boolean boolean):设置点击通知后自动清除通知
8. setWhen(long when):设置通知被创建的时间
注意:Android从5.o系统开始,对于通知栏图标的设计进行了修改。现在Google要求,所有应用程序的通知栏图标,应该只使用alpha图层来进行绘制,而不应该包括RGB图层,即图标不能带颜色。
### ToolBar基础属性(标题)
在res-values-themes 中的 style-parent 属性可设置关闭标题
```
Theme.MaterialComponents.DayNight.NoActionBar
```
1. android:layout_width="match_parent"
2. android:layout_height="?attr/actionBarSize"
3. android:background="#ffff00"
4. app:navigationlcon="@drawable/XXX":添加图标
5. app:title="主标题"
6. app:titleTextColor="#ff0000"
7. app:titleMarginStart="90dp"
8. app:subtitle="子标题"
9. app:subtitleTextColor="#00ffff"
10. app:logo="@mipmap/ic_launcher"
### AlertDialog基础属性(对话框)
1. AlertDialog.Builder builder = new AlertDialog.Builder(context):构建Dialog的各种参数
2. Builder.setlcon(int iconld):添加ICON
3. Builder.setTitle(CharSequence title):添加标题
4. Builder.setMessage(CharSequence message):添加消息
5. Builder.setView(View view):设置自定义布局
6. Builder.create():创建Dialog
7. Builder.show():显示对话框
8. setPositiveButton:确定按钮
9. setNegativeButton:取消按钮
10. setNeutralButton 中间按钮
注意:代码最后必须依次写上 `.create()` 和 `.show()`
### PopupWindow基础属性(弹窗)
1. setContentView(View contentView):设置PopupWindow显示的view
2. showAsDropDown(View anchor):相对某个控件的位置(正左下方),无偏移
3. showAsDropDown(View anchor, int xoff, int yoff):相对某个控件的位置,有偏移
4. setFocusable(boolean focusable):设置是否获取焦点
5. setBackgroundDrawable(Drawable background):设置背景
6. dismiss()关闭弹窗
7. setAnimationStyle(int animationStyle):设置加载动画
8. setTouchable(boolean touchable):设置触摸使能
9. setOutsideTouchable(boolean touchable):设置PopupWindow外面的触摸使能
Comments NOTHING