乐读文学

Android从入门到精通

乐读文学 > 科普学习 > Android从入门到精通

第15页

书籍名:《Android从入门到精通》    作者:明日科技


3.  android:layout_width属性

android:layout_width属性用于设置组件的基本宽度,其可选值包括fill_parent、match_parent和wrap_content。其中,fill_parent表示该组件的宽度与父容器的宽度相同;match_paren与fill_parent的作用完全相同,从Android  2.2开始推荐使用;wrap_content表示该组件的宽度恰好能包裹它的内容。

说明:  android:layout_width属性是ViewGroup.LayoutParams所支持的XML属性,对于其他的布局管理器同样适用。

4.  android:layout_height属性

android:layout_height属性用于设置组件的基本高度,其可选值包括fill_parent、match_parent和wrap_content。其中,fill_parent表示该组件的高度与父容器的高度相同;match_paren与fill_parent的作用完全相同,从Android  2.2开始推荐使用;wrap_content表示该组件的高度恰好能包裹它的内容。

说明:  android:layout_height属性是ViewGroup.LayoutParams所支持的XML属性,对于其他的布局管理器同样适用。

5.  android:id属性

android:id属性用于为当前组件指定一个id属性,在Java代码中可以应用该属性单独引用这个组件。为组件指定id属性后,在R.java文件中,会自动派生一个对应的属性,在Java代码中,可以通过findViewById()方法来获取它。

6.  android:background属性

android:background属性用于为组件设置背景,可以是背景图片,也可以是背景颜色。为组件指定背景图片时,可以将准备好的背景图片复制到目录下,然后使用下面的代码进行设置:

android:background="@drawable/background"

如果想指定背景颜色,可以使用颜色值。例如,要想指定背景颜色为白色,可以使用下面的代码:

android:background="#FFFFFFFF"

说明:  在线性布局中,还可以使用android.view.View类支持的其他属性,更加详细的内容可以参阅Android官方提供的API文档。

下面给出一个在程序中使用线性布局的实例。

例3.5   在Eclipse中创建Android项目,名称为3.5,实现采用线性布局显示一组按钮。(实例位置:光盘\TM\sl\3\3.5)

修改新建项目的res\layout目录下的布局文件main.xml,在默认添加的垂直线性布局管理器LinearLayout中添加4个按钮,并将每个按钮的android:layout_width属性值设置为match_parent。修改后的代码如下:








android:orientation="vertical"



android:layout_width="fill_parent"



android:layout_height="fill_parent"



android:background="@drawable/background"



>






android:layout_width="match_parent"



android:layout_height="wrap_content"/>






android:layout_width="match_parent"



android:layout_height="wrap_content"/>






android:layout_width="match_parent"



android:layout_height="wrap_content"/>






android:layout_width="match_parent"



android:layout_height="wrap_content"/>





运行本实例,将显示如图3.8所示的运行结果。

说明:  在Android  4.0中,默认的情况下,按钮是半透明效果的,并不是图3.8所示的效果,为了达到图3.8的效果,需要在AndroidManifest.xml文件的标记中添加android:theme属性,并将属性值设置为@android:style/Theme.Black。



图3.8 垂直线性布局的效果

在本实例中,如果将android:orientation属性的值设置为horizontal,将采用水平线性布局。由于在水平线性布局中,当组件排列到窗体的边缘后,后面的组件将不会被显示出来,所以在窗体中将只显示“按钮1”,其他按钮不显示,为了让其他按钮也显示到窗体中,需要将各按钮的android:layout_width属性值和android:layout_height属性值互换,代码如下:

android:layout_width="wrap_content"



android:layout_height="match_parent"

这时,再运行程序,将显示如图3.9所示的运行结果。



图3.9 水平线性布局的效果

3.2.2 表格布局

表格布局与常见的表格类似,以行、列的形式来管理放入其中的UI组件。表格布局使用标记定义,在表格布局中,可以添加多个标记,每个标记占用一行。由于标记也是容器,所以还可在该标记中添加其他组件,每添加一个组件,表格就会增加一列。在表格布局中,列可以被隐藏,也可以被设置为伸展的,从而填充可利用的屏幕空间,还可以设置为强制收缩,直到表格匹配屏幕大小。

说明:  如果在表格布局中,直接向中添加UI组件,那么该组件将独占一行。

在Android中,可以在XML布局文件中定义表格布局管理器,也可以使用Java代码来创建。推荐使用前者。在XML布局文件中定义表格布局管理器的基本语法格式如下: