2、android: layout_weight
首先需要注意的是,没有 $ 这样的属性,这个与上面的 ( 不一样。我们可以通过设置控件
的 ()$ 属性以控制各个控件在布局中的相对大小。()$ 属性是一个非负整数值。线性布局会根据
该控件 ()$ 值与其所处布局中所有控件 ()$ 值之和的比值为该控件分配占用的区域。例如,在水
平布局的 ,,( 中有两个 /,这两个 / 的 ()$ 属性值都为 ,那么这两个按钮都会被拉伸
到整个屏幕宽度的一半。如果 ()$ 指为 ,控件会按原大小显示,不会被拉伸;对于其余 ()$ 属
性值大于 的控件,系统将会减去 ()$ 属性值为 的控件的宽度或者高度,再用剩余的宽度或高度按相应的比
例来分配每一个控件显示的宽度或高度。下例简要说明该属性的用法:
!"#
LinearLayout$%&&$&%'&&
()$*)%
()$$*)%#
<!—最上面的两个按钮-->
LinearLayouthorizontal
()$*)%
()$$*)%
android:layout_weight="1"#<!—同一层次的三个 LinearLayout 的 layout_weight 都设置为 1,每一个都占据三分之一的空间-->
LinearLayout
android:orientation="vertical"
()$*)%
()$$*)%
()$#
/
()$%)
()$$%)
左上按钮
android:layout_gravity="left"&#<!—因为外层的 LinearLayout 定义为垂直布局,这里定义为在 Layout 里面靠左显示,所以就显示在左上角-->
&,,(#
LinearLayout
android:orientation="vertical"
()$*)%
()$$*)%
()$#
/
()$%)
()$$%)
右上按钮
android:layout_gravity="right"&#
&,,(#
&,,(#
<!—中心的按钮-->
LinearLayout