一、常见界面布局
1、线性布局 LinearLayout
常见属性
属性名称 | 功能 |
---|---|
android:orientation(方向) | 设置布局内控件的排列顺序,可选 vertical(竖直)和 horizontal(水平) |
android:layout_weight | 权重,属性值可以直接写int类型 |
下面这个结论是书上说的意思,但是我验证了即使将 layout_width 设为wrap_content 还是有效果的,我这里产生怀疑???
2、相对布局 RelativeLayout
常见控件属性
属性名称 | 功能 |
---|---|
android:layout_centerInParent | 位于父中央位置 |
android:layout_centerVertical | 位于父垂直居中位置 |
android:layout_centerHorizontal | 位于父水平居中位置 |
android:layout_above | 位于某控件上方 |
android:layout_below | 位于某控件下方 |
android:layout_toLeftOf | 位于某控件左侧 |
android:layout_toRightOf | 位于某控件右侧 |
android:layout_alignParentTop | 是否与父顶对齐 |
android:layout_alignParentLeft | 是否与父左对齐 |
android:layout_alignParentRight | 是否与父右对齐 |
android:layout_alignParentBottom | 是否与父底对齐 |
android:layout_alignTop | 当前控件上边界与某控件上边界对齐 |
android:layout_alignBottom | 当前控件下边界与某控件下边界对齐 |
android:layout_alignLeft | 当前控件左边界与某控件左边界对齐 |
android:layout_alignRight | 当前控件右边界与某控件右边界对齐 |
RelativeLayout 在定义中的控件默认与父布局左上角对齐
3、表格布局 TableLayout
常见属性
属性名称 | 功能 |
---|---|
android:stretchColumns | 列可拉伸 |
android:shrinkColumns | 列可收缩,=“1,2”表示第2、3列可收缩 |
android:collapseColumns | 列可隐藏 |
常见控件属性
属性名称 | 功能 |
---|---|
android:layout_column | 设置控件位置显示,=“1”表示在第2个位置显示 |
android:layout_span | 设置控件占据几列,默认为1 |
TableLayout 继承自 LinearLayout,使用TableRow来控制行数
4、帧布局 FrameLayout
常见属性
属性名称 | 功能 |
---|---|
android:foreground | 设置FrameLayout容器的前景图像 |
android:foregroundGravity | 设置前景图像显示的位置 |
二、常见界面控件
1、TextView 控件
常见特殊属性(一些基本的没有列出,可以看菜鸟官网,例如layout_width)
属性名称 | 功能 |
---|---|
android:gravity | 设置文本内容位置,常见的“center” |
android:ellipsize(省略) | 设置超出文本范围时的显示方式,用 “…” 表示 |
android:drawableTop | 在文本的顶部显示图像,采用“@drawable/文件名”调用 |
android:lineSpacingExtra | 设置文本的行间距 |
android:textStyle | 设置文本样式,如bold(粗体)、italic(斜体)、normal(正常) |
2、EditText 控件
常见属性
属性名称 | 功能 |
---|---|
android:hint | 输入内容为空时,显示文本信息,起到提示作用 |
android:textColorHint | 输入内容为空时,显示文本信息的颜色,起到提示作用 |
android:password | 输入内容为“.” |
android:phoneNumber | 内容只能是数字 |
android:minLines | 设置文本最小行数,超过了就不显示 |
android:scrollHorizontally | 超出文本框是否出现横拉条 |
android:editable | 是否可编辑 |
EditText 是 TextView控件的子类,用户可以在此输入信息。
3、Button 控件
(1)在布局文件中指定onClick属性的值
android:onClick=“click”
在Activity中定义实现点击事件的方法名必须与onClick属性的值保持一致
然后
(2)使用匿名内部类
通过为Button控件设置setOnClickListener()方法实现对Button控件点击事件的监听。setOnClickListener()方法传递的参数是一个匿名内部类。如果监听到Button被点击,程序会调用onClick方法实现点击事件。
(3)使用Activity实现OnClickListener接口
使用当前的Activity实现View.OnClickListener,同样可以为Button控件设置点击事件,在实现onClick()方法之前,必须调用Button控件的setOnClickListener()方法设置点击监听事件,否则对Button控件的点击不会生效。
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private Button btn_three;
@Override
protected void onCre