目录
Notification与NotificationManager
通知重要程度设置,NotificationManager类中
andriod颜色八位 #FFFFFFFF 前两位表示透明度 三四位表示红色程度 五六位表示绿色程度 最后两位表示蓝色程度
TextView
基本属性
-
layout_width:组件的宽度
-
layout_height:组件的高度
-
id:为TextView设置一个组件id
-
text:设置显示的文本内容
-
textColor:设置字体颜色
-
textStyle:设置字体风格,三个可选值:normal(无效果),bold(加粗),italic(斜体)
-
textSize:字体大小,单位一般是用sp
-
background:控件的背景颜色,可以理解为填充整个控件的颜色,可以是图片
-
gravity:设置控件中内容的对齐方向,TextView中是文字,ImageView中是图片等等
阴影属性
-
android:shadowColor:设置阴影颜色,需要与shadowRadius一起使用
-
android:shadowRadius:设置阴影的模糊程度,设为0.1就变成字体颜色了,建议使用3.0
-
android:shadowDx:设置阴影在水平方向的偏移,就是水平方向阴影开始的横坐标位置
-
android:shadowDy:设置阴影在竖直方向的偏移,就是竖直方向阴影开始的纵坐标位置
实现走马灯效果
-
android:singleLine:内容单行显示
-
android:focusable:是否可以获取焦点
-
android:focusableInTouchMode:用于控制视图在触摸模式下是否可以聚焦
-
android:ellipsize:在哪里省略文本
-
android:marqueeRepeatLimit:字幕动画重复的次数
-
android:clickable:设置是否可以点击 如果为true 点击后自动获取到了焦点走马灯效果就会实现
-
自定义一个textView修改里面的isFocused函数 返回true 运行即可实现走马灯效果
Button
StateListDrawable
StateListDrawable是Drawable资源的一种,可以根据不同的状态,设置不同的图片效果,关 键节点 < selector >,我们只需要将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:控件包含多个子控件时,确定最后一个子控件是否处于显示状态
Button事件处理
-
点击事件
-
长按事件
-
触摸事件
主要有这三个属性
0 按下 1松手 2 左右移动 可以通过motionEvent.getAction()来获取值
EditText
继承自TextView TextView的属性他基本上也有
主要属性
-
android:hint 输入提示
-
android:textColorHint 输入提示文字的颜色
-
android:inputType 输入类型
-
android:drawableXxxx 在输入框的指定方位添加图片
-
android:drawablePadding 设置图片与输入内容的间距
-
android:paddingXxxx 设置内容与边框的间距
-
android:background 背景
ImageView
主要属性
-
android:src 设置图片资源
-
android:scaleType 设置图片缩放类型
-
android:maxHeight 最大高度
-
android:maxWidth 最大宽度
-
android:adjustViewBounds 可以调整View的界限
scaleType缩放类型属性介绍
-
fitStart 保持宽高比缩放图片,直到较长的边与Image的边长相等,缩放完成后将图片放在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" 或"@style/Widget.AppCompat.ProgressBar.Horizontal"水平进度
Notification 通知
Notification与NotificationManager
创建一个NotificationManager
NotificationManager类是一个通知管理器类,这个对象是由系统维护的服务,是以单例模式的方式获得,所以 一般并不直接实例化这个对象。在Activity中,可以使用Activity.getSystemService(String)方法获取 NotificationManager对象,Activity.getSystemService(String)方法可以通过Android系统级服务的句柄,返回对应的对象。在这里需要返回NotificationManager,所以直接传递Context.NOTIFICATION_SERVICE即可。
使用Builder构造器来创建Notification对象
使用NotificationCompat类的Builder构造器来创建Notification对象,可以保证程序在所有的版本上都 能正常工作。Android8.0新增了通知渠道这个概念,如果没有设置,则通知无法在Android8.0的机器上显示
NotificationChannel
通知渠道:Android 8.0 引入了通知渠道,其允许您为要显示的每种通知类型创建用户可自定 义的渠道。
通知重要程度设置,NotificationManager类中
-
MPORTANCE_NONE 关闭通知
-
IMPORTANCE_MIN 开启通知,不会弹出,但没有提示音,状态栏中无显示
-
IMPORTANCE_LOW 开启通知,不会弹出,不发出提示音,状态栏中显示
-
IMPORTANCE_DEFAULT 开启通知,不会弹出,发出提示音,状态栏中显示
-
IMPORTANCE_HIGH 开启通知,会弹出,发出提示音,状态栏中显示
Notification 常见方法说明
-
setContentTitle(String string) 设置标题
-
setContentText(String string) 设置文本内容
-
setSmallIcon(int icon) 设置小图标 这个小图标不能有颜色 应该只使用alpha图层 来进行绘制,而不应该包括RGB图层
-
setLargeIcon(Bitmap icon) 设置通知的大图标
-
setColor(int argb) 设置小图标的颜色
-
setContentIntent(PendingIntent intent) 设置点击通知后的跳转意图 这里要注意新建activity的时候要将它加入主类中不然无法调用
-
setAutoCancel(boolean boolean) 设置点击通知后自动清除通知
-
setWhen(long when) 设置通知被创建的时间
注意:Android从5.0系统开始,对于通知栏图标的设计进行了修改。 现在Google要求,所有应用程序的通知栏图标,应该只使用alpha图层 来进行绘制,而不应该包括RGB图层。
ToolBar
常用属性详解
要使用自己写的toolbar 先去themes.xml中把toolbar改掉
Theme.MaterialComponents.DayNight.NoActionBar
-
android:layout_width= "match_parent"
-
android:layout_height= "?attr/actionBarSize"
-
android:background= "#ffff00"
-
app:navigationIcon= "@drawable/ic_baseline_arrow_back_24"
-
app:title= "主标题"
-
app:titleTextColor= "#ff0000"
-
app:titleMarginStart= "90dp" 标题距离左边的长度
-
app:subtitle= "子标题"
-
app:subtitleTextColor= "#00ffff"
-
app:logo= "@mipmap/ic_launcher"
如果要实现标题文字居中,可以在toolbar里面加一个属性为center的textview
AlertDialog
实现方式
AlertDialog.Builder builder = new AlertDialog.Builder(context);构建Dialog的各种参数
Builder.setIcon(int iconId); 添加ICON
Builder.setTitle(CharSequence title); 添加标题 Builder.setMessage(CharSequence message); 添加消息 Builder.setView(View view); 设置自定义布局
Builder.create(); 创建
Dialog Builder.show(); 显示对话框
setPositiveButton 确定按钮 setNegativeButton 取消按钮 setNeutralButton 中间按钮
注意create和show一定要在最后面调用
PopupWindow
构造函数有四种 分别对应四个参数,可以先设置好也可以之后再去调用函数设置
常用方法
-
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) 设置触摸使能
-
setOutsideTouchable(boolean touchable) 设置PopupWindow外面的触摸使