1.标签(TextView)
2. 按钮(Button)
3.图像(ImageView和ImageButton分别与TextView和Button在本质上一样,ImageButton是ImageView的子类)
4.字段(EditText)
5.复选框(CheckBox)
6.单选按钮(RadioButton)
7.布局
(1)线性布局(LinearLayout),类似java/Swing中的Flowlayout
<1>方向,元素android:orientation,horizontal为行,vertical为列,java调用法setOrientation();
<2>填充模型,位于此布局中的元素必须指定android:layout_width和android:layout_height
具体大小,例如“125px”;
“wrap_content”(既包含内容),表示部件应该保持其本来大小。
“fill_parent”(即填充父元素),表示在处理完所有其他部件之后,当前部件应该填充包含 它的容器的所有可用空间。
<3>权重,android:layout_weight,表示相应部件分配的空间比例,默认为0
<4>重力,android:layout_gravtity,常见的重力值有:left,center_horizontal和right
<5>内边距,android:padding,指部件“壳”的边距与部件内容的边界之间的距离,
若想让个边距的内边距不同,android:paddingLeft,paddingRight,paddingTop,paddingButtom;
也可以使用android:layout_marginTop及相关特性来设置外边距;
(2)相对布局(RelativeLayout)
<1>相对于容器定位
android:layout_alignParentTop,部件的顶部与容器的顶部对齐
——————————————Bottom,部件的底部与容器的底部对齐
——————————————Left,部件的左侧与容器的左侧对齐
——————————————Right,部件的右侧与容器的右侧对齐
————:layout_centerHorizontal,部件在容器内水平居中
———————————Vertical,部件在容器内垂直居中
———————————InParent,部件在容器内水平与垂直都居中
<2>特性中的关联记号
以@+id/...的形式为所有元素添加标识符
以不带加号的形式@id/...来引用其他部件
<3>相对于其他部件定位
有四个属性用于控制部件相对于其他部件定位
android:layout_above,部件位于所引用的部件上方
————————below,部件位于所引用的部件下方
————————toLeftOf,部件位于所引用的部件左边
————————toRightOf,部件位于所引用的部件右边
android:layout_alignTop,部件的上沿与所引用部件的上沿对齐
——————————Bottom,部件的下沿与所引用的下沿对齐
——————————Left,部件的左边与所引用的部件左边对齐
——————————Right,部件的右边与所引用的部件右边对齐
——————————Baseline,俩个部件应该沿基线对齐
<4>求值次序
通常,android以单次求值方式来处理RelativeLayout定义的布局规则,就不能使用未定义的部件;从1.6开始,采取了二次求值的方式来处理布局规则,可以引用尚未定义的部件
(3)表格布局(TableLayout)
需要与TableRow一起配合使用(基于0的列索引)
<1>在行中添加单元格
android:layout_span,表示部件跨过的列数,也就是合并,该部件占据几列
android:layout_column,表示该部件放入第几列
<2>TableLayout的其他子元素
也可以在行间放置其他部件,对于这些放在行间的部件,TableLayout会像沿垂直方向布局的LinearLayout一直来对齐他们。
可以使用一个简单的View来设置间距,例如:
<View android:layout_height="2px" android:backgound="#0000FF" />来设置与表格同宽的2像素高的蓝色分隔条
<3>扩展、收缩和折叠
默认情况下都会根据自己包含的部件的原本尺寸确定大小;
android:stretchColumn扩展(列为单位),android:shrinkColumns(列为单位)
android:collapseColumns折叠,一开始将被折叠起来
(4)滚动(ScallView,HorizontalScrollView(1.5))
ScallView与HorizontalScrollView不能同时提供俩个方向的滚动条