我有一个布局,我想使用layout_weight(1:2)分成2个视图。但是,我希望左视图的宽度至少为400dp。
例如,如果左视图通过使用权重获得420dp宽度,则保留它,但如果它小于400dp,则将其保留为400dp,并将所有其余视图提供给另一视图。
这是我尝试过但不适合我的布局。
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<View
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:minWidth="400dp"
android:background="@android:color/holo_blue_bright"/>
<View
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="2"
android:background="@android:color/holo_green_light"/>
</LinearLayout>
请帮忙, 谢谢!
答案 0 :(得分:2)
我认为这就是你所需要的:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<View
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:minWidth="400dp"
android:background="@android:color/holo_blue_bright"/>
<View
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="match_parent"
android:background="@android:color/holo_green_light"/>
</LinearLayout>
基本上,让第一个布局占用所需的空间但不低于400dp。第二个将采取剩下的所有。与涉及weight
的所有情况一样,请确保2个孩子所需的空间(宽度)小于父母可以提供的空间,否则您将屏幕外的东西。
注意:我在电话布局上尝试了它,但是400dp在屏幕上是纵向的,所以看起来第一个布局占用了所有空间,所以请确保在设备上试用它在你想要的布局范围方向上超过400dp: - )
答案 1 :(得分:-1)
Try this:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:weightSum="3" >
<View
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@android:color/holo_blue_bright"
android:minWidth="400dp" />
<View
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="2"
android:background="@android:color/holo_green_light" />
</LinearLayout>