参考第一行代码第三章内容
1.常用控件
1.1 TextView
match_parent:当前控件大小和父布局一致
wrap_content:当前控件大小刚好包含里面的内容
android:gravity:指定文字的对齐方式--------可选:top,bottom,left,right,center
center_vertical垂直居中, center_horizontal水平居中
android:textSize:指定文字大小,单位用sp表示
android:textColor:文字颜色
1.2 Botton
Botton:程序和用户交互的控件
注:Botton中默认大写字体,若需要小写,增加 android:textAllCaps="false"
设置监听器:
或使用接口方式注册
1.3 EditText
作用:用户可在该控件中输入和编辑内容,也可在程序中对内容进行处理
android:hint="提示内容"-----> 指定了一段提示性文本。
android:maxLines="N"------> 指定了EditText的最大行数为N行,当内容超过N行时,文本会向上滚动,EditText不会继续拉伸。
结合EditText与Button
1.4 ImageView
作用:界面上展示图片
实现:
通过调用ImageView中的setImageResource()将图片改成img_2
1.5 ProgressBar
作用:界面上显示进度条
android:visibility -------> 可见属性。visible, invisible:不可见,仍占据原来的位置和大小,
gone:不可见,不占用屏幕空间
通过代码设置控件可见性:
setVisibility():可传入View.VISIBLE、View.INVISIBLE、View.GONE
1.6 AlertDialog
作用:在当前界面弹出对话框(置顶所有界面之上,屏蔽其他键控的交互)
1.7 ProgressDialog
作用:在对话框中显示进度条
使用场景:表示当前操作耗时,让用户等待
2 布局
2.1 线性布局-LinearLayout
android: orientation="vertical"垂直
android: orientation="horizontal"水平排列
注:水平排列时,内部控件宽度不可为 match_parent(导致单个控件将整个水平方向占满)
垂直排列时,内部控件高度不可为 match_parent(导致单个控件将整个垂直方向占满)
- android:gravity:指定文字在控件的对齐方式
- android:layout_gravity:指定控件在布局中的对齐方式
android:layout_weight:使用比例指定控件大小(仅有LinearLayout使用)
android:layout_width: 单位表示:dp(常用于控件大小、间距等属性)
2.2 相对布局-RelativeLayout
android:layout_alignparentLeft:与父布局的左部对齐
android:layout_alignparentTop:居中显示
android:layout_alignparentBottom:与父布局下部对齐
android:layout_above:一个控件位于另一个控件上方。需要为这个属性指定相对控件id 的引用
2.3 帧布局-FrameLayout
所有控件默认摆放在布局左上角
2.4 百分比布局
作用:可直接指定控件在布局中所占的百分比----可任意比例分割布局
PrecentFrameLayout
PrecentRalativeLayout
3.自定义控件
3.1引入布局
作用:解决重复编写布局代码的问题
android:background:指定背景
android:layout_margin:指定控件在上下左右方向上偏移的距离
问题:书中3.4.1部分,为何Back和edit,左右位置确定---没理解
3.2 创建自定义控件
作用:解决系统控件不够用xian'xian
4 ListView--现已不太使用
缺点:不可横向滚动
作用:屏幕中有大量数据要展示,ListView 可滚动展示屏幕数据
ArrayAdapter:通过泛型来指定要适配的数据类型,然后在构造函数中把要适配的数据传入
创建List View项目:
5 RecyclerView
作用:可实现横向和纵向滚动
实现横向滚动:
LinearLayoutManger的setOrientation():设置布局的排列方向,默认纵向排列,
LinearLayoutManger。HORIZONTAL:布局横向滚动。
GridLayoutMannager:网格布局
StaggeredGridManager:瀑布流布局