我有一个布局,我想用布局权重(1:2)分成两个视图。但是,我希望左视图至少有400dp的宽度。
例如,如果左视图通过使用weight获得420dp宽度,则将其保留,但如果它的dp小于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>
请帮忙,
谢谢!
最佳答案
我想这就是你需要的:
<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的设备上试过:-)