LinearLayout是一个ViewGroup,它使得所有的子视图在一个独立的方向成一线,水平方向或垂直方向。你可以使用android:orientation属性指明布局的方向。
LinearLayout的所有子视图被堆积,一个接一个,所有在一个垂直的列表每一行仅仅只有一个子视图,不管这些视图有多宽,一个水平的列表将只有一行高。一个LinearLayout考虑子视图之间的边距和每个子视图的比重。
一 Layout Weight
LinearLayout也支持使用android:layout_weight属性为每个子视图设定一个比重。这个属性设定一个重要的值去说明这个视图应该在屏幕上占有多少空间。一个大的重量值运行它扩展填充剩余的空间。子视图可以指定一个重量值。 默认是0.
例如,如果你有三个文字域和他们中的两个声明重量是1,其他没有给定比重,第三个字符域不会增长,将仅仅占有它自己的区域。另外两个可以扩展和填充剩余的空间。
三 实例
<?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:paddingLeft="16dp" android:paddingRight="16dp" android:orientation="vertical" > <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="@string/to" /> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="@string/subject" /> <EditText android:layout_width="fill_parent" android:layout_height="0dp" android:layout_weight="1" android:gravity="top" android:hint="@string/message" /> <Button android:layout_width="100dp" android:layout_height="wrap_content" android:layout_gravity="right" android:text="@string/send" /> </LinearLayout>
下面我们演示下这个例子
增加android:layout_gravity="right"