我有一个布局,我想用布局权重(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的设备上试过:-)

07-25 21:27