Как установить высоту всех элементов одинакового размера в линейной компоновке вертикальной ориентации

#android #android-layout #android-linearlayout

Вопрос:

Я новичок в Android и пытаюсь изучить раскладку таблиц. Я хочу создать экран калькулятора с использованием компоновки таблицы и линейной компоновки, но я не смог установить высоту элементов одинакового размера в вертикальной ориентации линейной компоновки. Я ставлю вес=1 для всех элементов, чтобы установить одинаковый размер ширины.

(Я знаю, что могу сделать один и тот же экран с разными макетами, но я хочу использовать вертикальную линейную компоновку и компоновку таблицы.)

Вот мой XML-файл:

 lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  xmlns:app="http://schemas.android.com/apk/res-auto"  xmlns:tools="http://schemas.android.com/tools"  android:layout_width="match_parent"  android:layout_height="match_parent"  android:orientation="vertical"  tools:context=".ExampleActivity4"gt;   lt;EditText  android:id="@ id/editTextinput"  android:layout_width="match_parent"  android:layout_height="wrap_content"  android:ems="10"  android:inputType="textPersonName"  tools:ignore="SpeakableTextPresentCheck" /gt;   lt;TableLayout  android:layout_width="match_parent"  android:layout_height="match_parent"gt;   lt;TableRow  android:layout_width="match_parent"  android:layout_height="match_parent" gt;   lt;Button  android:id="@ id/btn7"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:layout_weight="1"  android:text="7" /gt;   lt;Button  android:id="@ id/btn8"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:layout_weight="1"  android:text="8" /gt;   lt;Button  android:id="@ id/btn9"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:layout_weight="1"  android:text="9" /gt;   lt;Button  android:id="@ id/btnminus"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:layout_weight="1"  android:text="-" /gt;  lt;/TableRowgt;   lt;TableRow  android:layout_width="match_parent"  android:layout_height="match_parent" gt;   lt;Button  android:id="@ id/btn4"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:layout_weight="1"  android:text="4" /gt;   lt;Button  android:id="@ id/btn5"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:layout_weight="1"  android:text="5" /gt;   lt;Button  android:id="@ id/btn6"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:layout_weight="1"  android:text="6" /gt;   lt;Button  android:id="@ id/btnplus"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:layout_weight="1"  android:text=" " /gt;  lt;/TableRowgt;   lt;TableRow  android:layout_width="match_parent"  android:layout_height="match_parent" gt;   lt;Button  android:id="@ id/btn1"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:layout_weight="1"  android:text="1" /gt;   lt;Button  android:id="@ id/btn2"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:layout_weight="1"  android:text="2" /gt;   lt;Button  android:id="@ id/btn3"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:layout_weight="1"  android:text="3" /gt;   lt;Button  android:id="@ id/btn0"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:layout_weight="1"  android:text="0" /gt;  lt;/TableRowgt;   lt;TableRow  android:layout_width="match_parent"  android:layout_height="match_parent" gt;   lt;Button  android:id="@ id/btnequal"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:layout_weight="1"  android:text="=" /gt;   lt;Button  android:id="@ id/btnclear"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:layout_weight="1"  android:text="CLEAR" /gt;  lt;/TableRowgt;  lt;/TableLayoutgt;  lt;/LinearLayoutgt;  

Комментарии:

1. Если я правильно понял, используйте android:stretchColumns="*" внутренний tableLayout тег. Он автоматически растянет весь столбец в соответствии с родительским

2. Просто дал короткий ответ через комментарий