Android 知识—控件
基础属性详解
- layout_width: 组件的宽度
- layout_height: z组件的高度
- id: 为TextView设置一个组件id
- text: 设置显示的文本内容
- textColor: 设置字体颜色
- textStyle: 设置字体风格,三个可选值: normal(无效果),bold(加粗),italic(斜体)
- textSize: 字体大小,单位一般是用sp
- background: 控件的背景颜色,可以理解为填充整个控件的颜色,可以是图片
- gravity: 设置控件中牛肉的对齐方向,TextView中是文字,imageview中是图片等等。
带阴影的TextView
- android:shadowColor:设置阴影颜色,需要与shadowRadius一起使用
- android:shadowRadius:设置阴影的模糊程度,设为0.1就变成字体颜色了,建议使用3.0
- android:shadowDx:设置阴影在水平方向的偏移,就是水平方向阴影开始的横坐标位置
- android:shadowDy:设置阴影在竖直方向的偏移,就是竖直方向阴影开始的纵坐标位置
实现跑马灯效果的TextView
- android:singleline:内容单行显示
- android:focusable:是否可以获取焦点
- android:focusablelnTouchMode:用于控制视图在触摸模式下是否可以聚焦
- android:ellipsize:在哪里省略文本
- android:marqueeRepeatLimit:字幕动画重复的次数
Button
StateListDrawable
stateListDrawable是Drawable资源的一种,可以根据不同的状态,设置不同的图片效果,关键节点,我们只需要将Button的background属性设置为该drawable资源即可轻松实现,按下按钮时不同的按钮颜色或背景
- drawable:引用的Drawable位图
- state_focused:是否获得焦点
- state_pressed:控件是否被按下
- state_enabled:控件是否可用
- state_selected:控件是否被选择,针对有滚轮的情况
- state_checked:控件是否被勾选
- state_checkable:控件可否被勾选,eg:checkbox
- state_window_focused:是否获得窗口焦点
- state_active:控件是否处于活动状态,eg:slidingTab
- state_single:控件包含多个子控件时,确定是否只显示一个子控件
- state_first:控件包含多个子控件时,确定第一个子控件是否处于显示状态
- state_middle:控件包含多个子控件时,确定中间一个子控件是否处于显示状态
- state_last:控件包含多个子控件时,确定最后一个子控件是否处于显示状态
EditText
主要属性
- android:hint 输入提示
- android:textColorHint 输入提示文字的颜色
- androoid:inputType 输入类型
- android:drawableXxxx 在输入框的指定方位添加图片
- android:drawablePadding 设置图片与输入内容的间距
- android:paddingXxxx 设置内容与边框的间距
- android:background 背景色
ImageView
主要属性
- android:src 设置图片资源
- android:scaleType 设置图片缩放类型
- android:maxHeight 最大高度
- android:maxWidth 最大宽度
- android:adjustViewBounds 调整View的界限
缩放类型
- fitStart:保持宽高比缩放图片,直到较长的边与Im的边长相等,缩放完成后将图片放在ImageView的左上角
- fitCenter:默认值,同上,缩放后放于中间
- fitEnd:同上,缩放后放于右下角
- fitXY:对图像的横纵方向进行独立的缩放,使得该图片完全适应ImageView,但是图片的宽高比可能会发生改变
- center:保持原图的大小,显示在ImageView的中心,当原图的size大于ImageView的size,超过部分裁剪处理。
- centerCrop:保持宽高比缩放图片,直到完全覆盖ImageView,可能会出现图片的显示不完全
- centerInside:保持宽高比缩放图片,直到ImageView能够完全地显示图片
- matrix:不改变原图的大小,从ImageView的左上角开始绘制原图,原图超过ImageView的部分作裁剪处理
ProgressBar
常用属性详解
- android:max:进度条的最大值
- android:progress:进度条已完成进度值
- android:indeterminate:如果设置成true,则进度条不精确显示进度
- style="?android:attr/progressBarStyleHorizontal" 水平进度条
Notification
Notification与NotificationManager
1. 创建一个NotificationManager
NotificationManager类是一个通知管理器类,这个对象是由系统维护的服务,是以单例模式的方式获得,所以一般并不直接实例化这个对象。在Activity中,可以使用Activity.getSystemService(String)方法获取NotificationManager对象,Activity.getSystemService(String)方法可以通过Android系统级服务的句柄,返回对应的对象。在这里需要返回NotificationManager,所以直接传递Context.NOTIFICATION_SERVICE即可。
2. 使用Builder构造器来创建Notification对象
使用NotificationCompat类的Builder构造器来创建Notification对象,可以保证程序在所有的版本上都能正常工作。Android8.0新增了通知渠道这个概念,如果没有设置,则通知无法在Android8.0的机器上显示
NotificationChannel
通知渠道:Android8.0引入了通知渠道,其允许您为要显示的每种通知类型创建用户可自定义的渠道。
通知重要程度设置,NotificationManager类中
- IMPORTANCE_NONE 关闭通知
- IMPORTANCE_MIN 开启通知,不会弹出,但没有提示音,状态栏中无显示
- IMPORTANCE_LOW 开启通知,不会弹出,不发出提示音,状态栏中显示
- IMPORTANCE_DEFAULT 开启通知,不会弹出,发出提示音,状态栏中显示
- IMPORTANCE_HIGH 开启通知,会弹出,发出提示音,状态栏中显示
常见方法说明
- setContentTitle(String string) 设置标题
- setContentText(String string) 设置文本内容
- setSmallicon(int icon) 设置小图标
- setLargeicon(Bitmap icon) 设置通知的大图标
- setColor(int argb) 设置小图标的颜色
- setContentIntent(PendingIntent intent) 设置点击通知后的跳转意图
- setAutoCancel(boolean boolean) 设置点击通知后自动清除通知
- setWhen(long when) 设置通知被创建的时间
注意点
Android从5.0系统开始,对于通知栏图标的设计进行了修改。现在Google要求,所以应用程序的通知栏图标,应该只使用alpha图层来进行绘制,而不应该包括RGB图层。
Toolbar
常用属性详解
- android:layout_width=“match_parent”
- android:layout_height="?attr/actionBarSize"
- android:background="#ffff00"
- app:navigationlcon="@drawable/ic_baseline_arrow_back_24"
- app:title=“主标题”
- app:title TextColor="#ff0000"
- app:titleMarginStart=“90dp”
- app:subtitle=“子标题”
- app:subtitle TextColor="#00ffff"
- app:logo="@mipmap/ic_launcher"
AlertDialog
01 实现方式
- AlertDialog.Builder builder = new AlertDialog.Builder(context);构建Dialog的各种参数
- Builder.setlcon(int iconld);添加ICON
- Builder.setTitle(CharSequence message);添加消息
- Builder.setView(View view);设置自定义布局
- Builder.create();创建Dialog
- Builder.show();显示对话框
- setPositiveButton 确定按钮
- setNegativeButton 取消按钮
- setNeutralButton 中间按钮
PopupWindow
01常用方法
- setContentView(View contentView): 设置PopupWindow显示的View
- showAsDropDown(View anchor): 相对某个控件的位置(正左下方),无偏移
- showAsDropDown(View anchor,int xoff,int yoff): 相对某个控件的位置,有偏移
- setFocusable(boolean focusable) 设置是否获取焦点
- setBackgroundDrawable(Drawable background) 设置背景
- dismiss() 关闭弹窗
- setAnimationStyle(int animationStyle) 设置加载动画
- setTouchable(boolean touchable) 设置触摸 使能
- setOutside Touchable(boolean touchable) 设置PopupWindow外面的触摸 使能
|