控件
Text View:
-
layout_width:组件的宽度
-
layout_height: 组件的高度
-
id : 为Test View 设置一个组件id
-
text:设置显示的文本内容
-
test Color:设置字体颜色
-
text Style:设置字体风格,三个可选值:normal(无效果),bold(加粗),italic(斜体)
-
text Size:字体大小,单位一般是用sp
-
background:控件的背景颜色,可以理解为填充整个控件的颜色,可以是图片
-
gravity:设置控件中内容的对齐方向,Text View中是文字,Image View中是图片等等
带阴影的Text View:
-
android:shadowColor: 设置阴影颜色,需要与shadowRadius一起使用
-
android:shadowRadius:设置阴影的模糊程度,设为0.1就变成了字体颜色了,建议使用3.0
-
android:shadowDx:设置阴影在水平方向的偏移,就是水平方向向阴影开始的横坐标位置
-
android:shadowDy:设置阴影在竖直方向的偏移,就是竖直方向向阴影开始的纵坐标位置
跑马灯效果的Text View:
-
android:singleLine : 内容单行显示
-
android:focusable:是否可以获取焦点
-
android:focusableTouchMode:用于控制视图在触摸模式下是否可以聚焦
-
android:ellipsize: 在哪里省略文本
-
android:marqueeRepeatLimit:字幕动画重复的次数
-
<requestFocus/>:请求焦点
Button
StateListDrawable
-
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事件处理
-
点击事件
-
长按事件
-
触摸事件
EditText
-
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的界限
缩放类型:
-
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:indeteminate: 如果设置成true,则进度条不精确显示进度
-
style="?android:attr/progressBarStyleHorizontal" 水平进度条
Notification
-
创建一个NotificationManager
NotificationManager类是一个通知管理类,这个对象是由系统维护的服务,是以单例模式的方式获得,所以一般并不直接实例这个对象,在Activity中,可以使用Activity.getSystemService(String)方法获取NotificationManager对象,Activity.getSystemService(String )方法可以通过Android系统服务的句柄,返回对应的对象,在这里需要返回NotificationManager,所以直接传递Context.NOTIFICATON_SERVICE即可。
-
使用Builder构造器来创建Notification对象
使用NotificationCompat类的Builder构造器来创建Notification对象。可以保证程序在所有的版 本上都能正常运行。Android8.0新增了通知渠道这个概念,如果没有设置,则通知无法在Android Q8.0的机器上显示。
NotificationChannel
通知渠道: Android 8.0引入了通知渠道,其允许您为要显示的每种通知类型创建用户可自定义的 渠道。
通知重要程度设置,NotificationManager类中
-
IMPORTANCE_NODE 关闭通知
-
IMPORTANCE_MIN 开启通知,不会弹出,但没有提示音,状态栏中无显示
-
IMPORTANCE_LOW 开启通知,不会弹出,不发提示音。状态栏中显示
-
IMPORTANCE_DEFAULT 开启通知,不会弹出,发出提示音,状态栏中显示
-
IMPORTANCE_HIGK 开启通知,会弹出,发出提示音,状态栏中显示
常用方法说明:
-
setContentTitle(String string) 设置标题
-
setContentText(String string) 设置文本内容
-
setSmalllcobn(int icon) 设置小图标
-
setLargelcon(Bitmap icon) 设置通知的大图标
-
setColor(int argb) 设置小图标的颜色
-
setConterntlntent(PendingIntent intent) 设置点击通知后的跳转意图
-
setAutoCancel (boolean boolean) 设置点击通知后自动清除通知
-
setWhen(long when) 设置通知被创建的时间
Toolbar(上方标题)
常用属性详解:
-
android:layout_width="match_parent"
-
android:layout_height="?attr/actionBarSize"
-
android:background="#ffff00"
-
app:navogationlcon="@drawable/ic_baseline_arrow_back_24"
-
app:title="主标题"
-
app:titleTextColor="#ffff00"
-
app:titleMarginStart="90dp"
-
app:subtitle="子标题"
-
app:subtitleTextColor="#00ffff"
-
app:logo="@mipmap/ic_launcher"
AlertDialog(对话框)
实现方式:
-
AlertDialog:Builder builder = new AlerDialog.Builder(context); 构建Dialog的各种参数
-
Builder.setlcon(int iconld); 添加ICON
-
Builder.setTitle(CharSequence title); 添加标题
-
Builder.setMessage(CharSequence message); 添加消息
-
Builder.setView(View view); 设置自定义布局
-
Builder.create(); 创建Dialog
-
Builder.show(); 显示对话框
-
setPositiveButton;确定按钮
-
setNegativeButton 取消按钮
-
setNeutralButton; 中间按钮
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外面的触摸使能
布局
LinearLayout
创建属性:
-
orientation 布局中的组件的排列方式(vertica 纵向排列)(horizontal 水平排列)
-
gravity 控制组件所包含的子元素的对齐方式,可多个组合
-
layout_gravity 控制该组件在父容器里的对齐方式
-
background 为该组件设置一个背景图片,或者是直接用颜色覆盖
-
divider‘ 分割线
-
showDivider 设置分割线所在的位置,none(无),beginning(开始),end(结束),middle(每两个组件间)
-
dividerpadding 设置分割线的padding
-
layout_weight(权重) 该属性是用来等比例的划分区域
RelativeLayout
常见属性:
-
根据父容器定位
-
layout_alignParentLeft 左对齐
-
layout_alignParentRight 右对齐
-
layout_alignParenTop 顶部对齐
-
layout_alignParentBottom 底部对齐
-
layout_centerHorizontal 水平居中
-
layout_centerVertical 垂直居中
-
layout_centerInParent 中间位置
-
-
根据兄弟组件定位
-
layout_toLeftOf 放置于参考组件的左边
-
layout_toRightOf 放置于参考组件的右边
-
layout_above 放置于参考组件的上方
-
layout_below 放置于参考组件的下方
-
layout_alignTop 对齐参考组件的上边界
-
layout_alignBottom 对齐参考组件的下边界
-
layout_alignLeft 对齐参考组件的左边界
-
通用属性:
-
margin 设置组件与父容器的边距
-
layout_matgin 上下左右偏移
-
layout_marginLeft
-
layout_marginRight
-
layout_marginTop
-
layout_marginBottom
-
-
padding 设置组件内部元素的边距
FrameLayout
左上角开始绘制!后面的进行覆盖前面的!
常见属性:(可以使用前面的布局属性)
-
android:foreground 设置前景
-
android:foregroundGravity 设置前景位置
TableLayout
常见属性:
-
android:collapseColumns 设置需要被隐藏的列的序号,从0开始
-
android:stretchColimns 设置允许被拉伸的列的列序号,从0开始
-
android:shrinkColimns 设置允许被收缩的列的列序号,从0开始
子控件设置属性:
-
android:layout_column 显示在第几列
-
android:layout_span 横向跨几列
GridLayout(网格布局)
-
android:orientation 设置水平显示还是垂直显示
-
android:columnCount 设置行的显示个数
-
android:rowCount 设置留的列的显示个数
子控件属性:
-
android:layout_colum 显示在第几列
-
android :layout_columnSpan 横向跨几列
-
android:layout_columnWeight 横向剩余空间分配方式
-
android:layout_gravity 在网格中的显示位置
-
android:layout_row 显示在第几行
-
android:layout_rowSpan 横向跨几行
-
android:layout_rowWeight 纵向剩余空间分配方式
ConstraintLayout(约束布局)
默认放在左上角! 可手动绘制界面!