我正在尝试通过这个示例理解权重布局。
这绝对不是什么高深的东西。然而,这个例子让它变得更加容易理解...
- weightSum决定了布局的大小
- 然后基于LinearLayout中视图的layout_weight值对布局进行划分。
在这个例子中,我有一个带有权重为5的布局,然后将其在两个视图之间划分:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/transactionRowBackground"
android:paddingBottom="5dp"
android:paddingTop="5dp" android:orientation="horizontal" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" android:layout_weight="2" >
<TextView
android:id="@+id/title"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true"
android:gravity="top"
android:padding="5dp"
android:text="Test Title"
android:textColor="@color/textColor"
android:textSize="@dimen/subHeadingTextSize"
android:textStyle="bold" />
<TextView
android:id="@+id/description"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true"
android:gravity="top"
android:padding="5dp"
android:text="This is a test description"
android:textColor="@color/textColor"
android:textSize="@dimen/normalTextSize" />
</LinearLayout>
<ImageView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="3"
android:src="@drawable/ic_launcher"
android:layout_gravity="top"
android:contentDescription="" />
</LinearLayout>
我无法理解的是,我给ImageViewer的数字越大,它从父级获取的空间就越小。那么它实际上是如何计算ImageView的大小的呢?
您可以尝试使用上面的xml。如果将ImageView的布局权重更改为1,子线性布局更改为4,则我认为这更有意义,然后相反的情况将发生。
ImageView将扩展,而子线性布局将缩小。我以为数字越大,你就会得到更多的空间。