Android布局中 android:layout_weight 属性解释
定义:所有View(视图)元素中都有一个XML属性android:layout_weight,其值为0,1,2,3...等整数值。
使用了之后,其对应界面中的元素比例就会发生变化,变大或者变小。layout_weight属性其实就是一个元素重要度的属性,用于在线性布局中为不同的view元素设置不同的重要度。
定义:所有View(视图)元素中都有一个XML属性android:layout_weight,其值为0,1,2,3...等整数值。
使用了之后,其对应界面中的元素比例就会发生变化,变大或者变小。layout_weight属性其实就是一个元素重要度的属性,用于在线性布局中为不同的view元素设置不同的重要度。
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<TextView android:id="@+id/a1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text=""
android:layout_weight="1" />
<TextView android:id="@+id/a2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text=""
android:layout_weight="2" />
</LinearLayout>
欢迎各位朋友,一起来讨论Android方面的技术难点。
android:layout_weight属性主要用来设置控件在屏幕上的位置空间,代码中如果第一个TextView中为1,第二个TextView为2,则这两个控件一个占总空间的1/3,
另一个占总空间的2/3。
在一个LinearLayout内各个组件是按weight值以正比形式显示在屏幕上 ,而在LinearLayout之间以反比的形式显示在屏幕上 ,很奇怪吧。
官方文档关于这个属性的解释
其实很简单,weight本来的意思就是重量,即 这个属性所代表的是重要程度,而不是比例
解释:
如果三个view水平排列,前两个view的wieght是1,第三个是默认值0,( 所有的视图都有一个layout_weight值,其默认值为0,)表示视图多大就占据多大的屏幕空间。可见第三个view的weight最低,那么第三个view就只会占用自己内容所需的宽度,剩下的宽度会被前两 个view平分。
如果第三个view的wieght是2,那么前两个view就会平分剩余的宽度,而第三个会(gets half the total) 占据所有空间的一半。
至于Linearlayout的weight属性越小的所占空间越多,我觉得这是因为Linearlayout的默认高度问题,一个简单的实验当我把两个Linearlayout的值设为1和5的时候,屏幕比例 依然不变,因为第一个Linearlayout的默认大小就是那么大
本文详细介绍了Android布局中android:layout_weight属性的作用与用法。该属性用于设置线性布局中不同视图元素的重要度,从而调整它们在屏幕上的相对大小。通过具体的代码示例展示了如何利用这一属性来实现灵活的界面布局。
1360

被折叠的 条评论
为什么被折叠?



