View

来源:互联网 发布:朱清时量子意识 知乎 编辑:程序博客网 时间:2024/05/27 00:43

View类是所有可视化控件的基类,主要提供了控件绘制和事务处理的方法。创建用户界面所使用的控件都继承自View,如EditText、TextView、Button等。View及其子类的相关属性,既可以在布局XML文件中进行相关设置,也可以通过成员方法在Java代码中动态设置。

View类常用的属性及对应的方法

这里写图片描述

ViewGroup类是View类的子类,但是它可以充当其他控件的容器。ViewGroup的子控件既可以是普通的View,也可以是ViewGroup。一些高级控件如Gallery、GridView等都是继承自ViewGroup。Android中为每种不同的布局提供一个ViewGroup的子类,如LinearLayout、TableLayout、RelativeLayout、FrameLayout、AbsoluteLayout等。

LinearLayout是最简单的布局之一,它提供了控件水平或垂直排列的模型,可以通过设置控件的weight参数控制各个控件在容器中的相对大小。LinearLayout布局的属性也是既可以通过布局XML文件设置,也可以通过成员方法进行设置。

LinearLayout常用的属性及对应设置方法

这里写图片描述

TableLayout类似行和列的形式管理控件,每行为一个TableRow对象,也可以为一个View对象,当为View对象时,该View对象将跨越该行的所有列。在TableRow中可以添加子控件,每添加一个子控件为一列。TableLayout布局中并不会为每一行、每一列或每个单元格绘制边框,每一行可以有0或多个单元格,每个单元格为一个View对象。TableLayout中可以有空的单元格,单元格也可以像HTML中那样跨越多个列。在表格布局中,一个列的宽度由该列中最宽的那个单元格指定,而表的宽度是由父容器指定的。在TableLayout中,可以为列设置三种属性:

Shrinkable,如果一个列被标识为Shrinkable,则该列的宽度可以进行收缩,以使表格能够适应其父容器的大小。

Stretchable,如果一个列被标识为Stretchable,则该列的宽度可以进行拉伸,以使填满表格中空闲的空间。

Collapsed,如果一个列被标识为Collapsed,则该列将会被隐藏。

一个列可以同时具有Shrinkable和Stretchable属性,在这种情况下,该列的宽度将任意的拉伸或收缩以适应父容器。

TableLayout继承自LinearLayout类,除了继承自父类的属性和方法,TableLayout类还包含表格布局所特有的属性和方法。

TableLayout类常用属性及对应的方法

这里写图片描述

RelativeLayout布局中,子控件的位置是相对于兄弟控件或父容器而决定的。出于性能考虑,在设计相对布局时要按照控件之间的依赖关系排列,如View A 的位置相对于View B 类决定,则需要保证在布局文件中View B 在View A 的前面。

相对布局中只取true或false的属性

这里写图片描述

这里写图片描述

0 0
原创粉丝点击