|
理解布局对于良好的Android程序设计来说很重要。在这个教程中,你将学习到所有关于线性布局的东西,它在屏幕上垂直地或水平地组织用户界面控件或者小工具。使用得当,线性布局可以作为基本的布局,基于这个布局来可以设计出许多有趣的Android程序用户界面。
什么是线性布局
线性布局是最简单,Android开发者使用得最多的布局类型之一,开发者用它来组织你们的用户界面上的控件。线性布局的作用就像它的名字一样:它将控件组织在一个垂直或水平的形式。当布局方向设置为垂直时,它里面的所有子控件被组织在同一列中;当布局方向设置为水平时,所有子控件被组织在一行中。
线性布局可以在XML布局资源文件中定义,也可以用Java代码在程序中动态的定义。
下图展示了一个包含7个TextView控件的线性布局。这个线性布局方向被设置为垂直,导致每个TextView控件被显示在一列当中。每一个TextView控件的文本属性都是一个颜色值,背景色就是这个颜色;通过将控件的layout_width属性设置为fill_parent,每个控件都拉伸到屏幕宽度。
用XML布局资源定义线性布局
设计程序用户界面最方便和可维护的方法是创建XML布局资源。这个方法极大地简化了UI设计过程,它将很多静态创建和用户界面控件的布局以及控件属性的定义移到了XML中,而不是写代码。
XML布局资源必须被存储在项目目录的/res/layout下。让我们看看前一节介绍的彩虹线性布局。这个屏幕基本上就是一个设置为铺满整个屏幕的垂直线性布局,这通过设置它的layout_width和layout_height属性为fill_parent来实现。适当地将其命名为/res/layout/rainbow.xml,XML定义如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="fill_parent" Android:layout_height="fill_parent"
Android:orientation="vertical">
<TextView Android:text="RED" Android:id="@+id/TextView01"
Android:layout_height="wrap_content" Android:background="#f00"
Android:layout_width="fill_parent" Android:layout_weight=".14"
Android:gravity="center" Android:textColor="#000"></TextView>
<TextView Android:text="ORANGE" Android:id="@+id/TextView02"
Android:layout_height="wrap_content" Android:layout_width="fill_parent"
Android:layout_weight=".15" Android:background="#ffa500"
Android:gravity="center" Android:textColor="#000"></TextView>
<TextView Android:text="YELLOW" Android:id="@+id/TextView03"
Android:layout_height="wrap_content" Android:layout_width="fill_parent"
Android:layout_weight=".14" Android:background="#ffff00"
Android:gravity="center" Android:textColor="#000"></TextView>
<TextView Android:text="GREEN" Android:id="@+id/TextView04"
Android:layout_height="wrap_content" Android:layout_width="fill_parent"
Android:layout_weight=".15" Android:background="#0f0" Android:gravity="center"
Android:textColor="#000"></TextView>
<TextView Android:text="BLUE" Android:id="@+id/TextView05"
Android:layout_height="wrap_content" Android:layout_width="fill_parent"
Android:layout_weight=".14" Android:background="#00f" Android:gravity="center"
Android:textColor="#fff"></TextView>
<TextView Android:text="INDIGO" Android:id="@+id/TextView06"
Android:layout_height="wrap_content" Android:layout_width="fill_parent"
Android:layout_weight=".14" Android:background="#4b0082"
Android:gravity="center" Android:textColor="#fff"></TextView>
<TextView Android:text="VIOLET" Android:id="@+id/TextView07"
Android:layout_height="wrap_content" Android:layout_width="fill_parent"
Android:layout_weight=".14" Android:background="#ee82ee"
Android:gravity="center" Android:textColor="#000"></TextView>
</LinearLayout>
it知识库:Android用户界面设计:线性布局,转载需保留来源!
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。