简单控件
1. 文本显示
1.1 设置文本内容
设置文本内容有两种方式:
- 通过
setText()方法设置文本内容。
- 通过编辑布局文件
xml文件设置文本内容。
通过 <TextView/> 标签设置文本内容。
1.2 设置文本的大小
- 通过
setTextSize()方法设置文本大小。
- 通过编辑布局文件
xml文件来设置文本大小,此时需要指定字号单位。
| 尺寸单位 | 描述 |
|---|---|
| px (Pixel) | 图像元素,是最为图像构成的基本单元,单个像素的大小并不固定,跟随屏幕的大小和像素数量的关系变化。 |
| Resolution (分辨率) | 屏幕的水平和垂直方向上的像素数量。 |
| Dpi (像素密度) | 屏幕上每英寸距离中有多少个像素点。 |
| Dip/dp (设备独立像素) | 长度单位,同一个单位在不同设备上有不同的显示效果,具体显示效果跟设备密度有关 |
1.3 设置文本颜色
通过 setTextColor() 方法设置文本颜色,具体的颜色值可以通过 Color 类获取。
2. 视图基础
- 采用
layout_margin属性,设置外间距,其包括: layout_marginlayout_marginLeftlayout_marginRightlayout_marginTop-
layout_marginBottom -
采用
padding属性,设置内间距,其包括: paddingpaddingLeftpaddingRightpaddingToppaddingBottom
2.1 设置视图的宽高
视图的宽度通过属性 android:layout_width 设置,高度通过属性 android:layout_height 设置。
其中宽高的取值主要有以下三种:
match_parent表示与上级视图保持一致wrap_content表示与内容自适应- 以 dp 为单位的具体尺寸
通过 setLayoutParams() 方法设置视图的宽高。
2.2 修改视图间距
2.3 设置视图对齐方式
设置视图的对其方式有两种途径。
- 采用
layout_gravity属性,它指定了当前视图相对于上级视图的对其方式。 - 采用
gravity属性,它指定了下级视图相对于当前视图的对齐方式。
其中,layout_gravity 和 gravity 的取值如下。
lefttoprightbtootm
其中可以使用
|连接多个值,例如left|top即为即靠左也考上对齐。
4. 常用布局
4.1 Linear Layout 线性布局
线性布局有两种排列方式。
orientation的属性设置为horizontal时,内部视图在水平方向从左向右排列。orientation的属性设置为vertical时,内部视图在垂直方向从上向下排列。
如果不指定
orientation属性,则默认为horizontal排列方式。
4.1.1 线性布局的权重
线性布局中的权重,指的是线性布局下级视图各自拥有多大比例的宽高。
控制权重的属性叫做: layout_weight。但是该属性不在 LinearLayout 节点设置,而是在线性布局的直接下级视图设置,表示该下级视图占据的宽高比例。
4.2 Relative Layout 相对布局
相对布局的下级视图位置由其它视图决定,用于确定下级视图位置的参照物分为两种。
- 与该视图自身平级的视图
- 该视图的上级视图
如果不设定下级视图的参照物,那么下级视图默认显示在 Relative Layout 内部的左上角。
| 相对位置的属性取值 | 相对位置说明 |
|---|---|
| layout toLeftOf | 当前视图在指定视图的左边 |
| layout toRightOf | 当前视图在指定视图的右边 |
| layout above | 当前视图在指定视图的上方 |
| layout below | 当前视图在指定视图的下方 |
| layout alignLeft | 当前视图与指定视图的左侧对齐 |
| layout alignRight | 当前视图与指定视图的右侧对齐 |
| layout alignTop | 当前视图与指定视图的上方对齐 |
| layout alignBottom | 当前视图与指定视图的下方对齐 |
| layout centerlnParent | 当前视图在上级视图中间 |
| layout centerHorizontal | 当前视图在父视图水平居中 |
| layout centerVertical | 当前视图在父视图垂直居中 |
| layout alignParentLeft | 当前视图与父视图左侧对齐 |
| layout alignParentRight | 当前视图与父视图右侧对齐 |
| layout alignParentTop | 当前视图与父视图顶部对齐 |
| layout alignParentBottom | 当前视图与父视图底部对齐 |
4.3 Grid Layout 网格布局
网格布局支持多行多列的表格排列,网格布局默认从左往右、从上往下排列,其新增了两个属性。
columnCount它指定了网格的列数rowCount它指定了网格的行数
4.4 Scroll View 滚动视图
滚动视图有两种。
ScrollView垂直方向的滚动视图,垂直防线滚动时,layout_width必须为match_parent,layout_height为wrap_content。HorizontalScrollView水平方向的滚动视图,水平方向滚动时,layout_width必须为wrap_content,layout_height为match_parent。
5. 按钮触控
5.1 Button 按钮控件
按钮控件 Button 是由 TextView 派生而来,他们之间的区别有:
- Button 有默认的按钮背景,TextView 没有。
- Button 默认会将内部文本居中对齐,TextView 默认左对齐。
- Button 默认会将英文字母转为大写,TextView 保持原始英文。
按钮控件新增的属性。
textAllCaps它指定了是否将英文字母转换为大写。onClick它指定了按钮被点击时触发的事件。