kamranali1 Ответов: 1

Как хотите дать равную ширину двум внутренним линейным макетам


Я хочу дать 50 % ширины каждому линейному макету, не жестко закодированному.


< relativelayout xmlns:android="http://schemas.android.com/apk/res/android" >
android: layout_width= " match_parent"
android: layout_height= " match_parent"
android: removed= " @color / black"
android: ориентация= " вертикальная"
>


< linearlayout & gt; android: orientation= " vertical"
android: layout_width= " 200dp"
android: layout_height= " match_parent"
android: id= " @+id/ll1"
андроид:layout_alignParentLeft="истинный"
android: layout_weight="1">

< textview>
android: layout_width= " match_parent"
android: layout_height= " match_parent"
android: layout_weight= " 1"
android: удалено= " #aa0000"
android: gravity= " center_horizontal"
android: text= " красный"
android: textSize= "24sp" />

< textview>
android: layout_width= " match_parent"
android: layout_height= " match_parent"
android: layout_weight= " 1"
android: удалено= " #00aa00"
android: gravity= " center_horizontal"
android: text= " зеленый"
android: textSize= "24sp" />


< linearlayout & gt; android: orientation= " vertical"
android: layout_width= " 200dp"
android: layout_height= " match_parent"
андроид:layout_toRightOf="@ИД/ЛЛ1"
android: layout_weight= " 1"
>

< textview>
android: layout_width= " match_parent"
android: layout_height= " 0dp"
android: layout_weight= " 1"
android: удалено= " #aa0000"
android: gravity= " center_horizontal"
android: text= " красный"
android: textSize= "24sp" />



< textview>
android: layout_width= " match_parent"
android: layout_height= " 0dp"
android: layout_weight= " 1"
android: удалено= " #00aa00"
android: gravity= " center_horizontal"
android: text= " зеленый"
android: textSize= "24sp" />





Что я уже пробовал:

я пытался
android: layout_width= " 0dp"
android: layout_weight= " 1"


но это не работает

1 Ответов

Рейтинг:
2

Arindam Tewary

Чтобы обеспечить распределение размеров без жесткого кодирования в xml, вам необходимо выполнить следующие действия

1. Использования "для Android:weightSum" атрибут в Родительском контейнере и "Android:layout_weight" в Внутренний вид.
2.во внутреннем представлении, когда вы используете android:layout_weight, вам нужно указать "android:layout_height='0'" (если вы делите его вертикально) или "android:layout_width='0dp'" (если вы ныряете в него горизонтально).
3. android: weightSum в родителе должен быть суммированием, если все layout_weight во внутреннем представлении.


Пример: ниже код показывает вертикально два 50% линейного макета дизайна.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:orientation="vertical"

    android:weightSum="2">

    <LinearLayout

        android:layout_width="match_parent"

        android:layout_height="0dp"

        android:layout_weight="1">50%</LinearLayout>

    <LinearLayout

        android:layout_width="match_parent"

        android:layout_height="0dp"

        android:layout_weight="1"

        android:removed="@color/colorAccent">50%
    </LinearLayout>
</LinearLayout>


Дай мне знать, если это поможет.