weight计算方式
以宽度为例:
计算出的宽度=原来宽度(weight的值)+剩余空间所占百分比的宽度(屏幕宽度-控件宽度之和)*百分比
例1
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Button1" />
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="2"
android:text="Button2" />
</LinearLayout>假设屏幕的宽度为L
Button1的宽度=L+(L-(L+L))*1/3=L-1/3L=2/3L
Button2的宽度=L+(L-(L+L))*2/3=L-1/3L=1/3L
例2
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="button1" />
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="2"
android:text="button2" />
</LinearLayout>假设屏幕的宽度为L
Button1的宽度=0+(L-(0+0))*1/3=1/3L
Button2的宽度=0+(L-(0+0))*2/3=2/3L
本文深入解析了Android布局中控件的权重计算方式,通过具体实例展示了如何利用权重分配来实现控件在不同屏幕尺寸下的自适应布局。通过计算公式和实例分析,读者可以更好地掌握权重计算的技巧,提升UI设计的灵活性。
1267

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



