简单控件
1. 文本显示
1.1 设置文本内容
设置文本内容有两种方式:
- 通过
setText()
方法设置文本内容。
- 通过编辑布局文件
xml
文件设置文本内容。
通过 <TextView/>
标签设置文本内容。
1.2 设置文本的大小
- 通过
setTextSize()
方法设置文本大小。
- 通过编辑布局文件
xml
文件来设置文本大小,此时需要指定字号单位。
尺寸单位 | 描述 |
---|---|
px (Pixel) | 图像元素,是最为图像构成的基本单元,单个像素的大小并不固定,跟随屏幕的大小和像素数量的关系变化。 |
Resolution (分辨率) | 屏幕的水平和垂直方向上的像素数量。 |
Dpi (像素密度) | 屏幕上每英寸距离中有多少个像素点。 |
Dip/dp (设备独立像素) | 长度单位,同一个单位在不同设备上有不同的显示效果,具体显示效果跟设备密度有关 |
1.3 设置文本颜色
通过 setTextColor()
方法设置文本颜色,具体的颜色值可以通过 Color
类获取。
2. 视图基础
- 采用
layout_margin
属性,设置外间距,其包括: layout_margin
layout_marginLeft
layout_marginRight
layout_marginTop
-
layout_marginBottom
-
采用
padding
属性,设置内间距,其包括: padding
paddingLeft
paddingRight
paddingTop
paddingBottom
2.1 设置视图的宽高
视图的宽度通过属性 android:layout_width
设置,高度通过属性 android:layout_height
设置。
其中宽高的取值主要有以下三种:
match_parent
表示与上级视图保持一致wrap_content
表示与内容自适应- 以 dp 为单位的具体尺寸
通过 setLayoutParams()
方法设置视图的宽高。
2.2 修改视图间距
2.3 设置视图对齐方式
设置视图的对其方式有两种途径。
- 采用
layout_gravity
属性,它指定了当前视图相对于上级视图的对其方式。 - 采用
gravity
属性,它指定了下级视图相对于当前视图的对齐方式。
其中,layout_gravity
和 gravity
的取值如下。
left
top
right
btootm
其中可以使用
|
连接多个值,例如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
它指定了按钮被点击时触发的事件。