Я пытаюсь использовать tableLayout, который имеет 8 tableRows и в каждой таблице Row по 5 кнопок. После запуска приложения количество строк и кнопок в строках меняются в зависимости от ввода пользователя. Кнопки скрыты настройкой атрибута видимости. Я хочу, чтобы кнопки сохраняли соотношение высоты и ширины 1: 1 для любой комбинации включенных строк и кнопок в каждой строке. Но это не работает, установка layout_constraintDimensionRatio не влияет на отображение кнопок.
Вот мой XML (для одной строки таблицы), пожалуйста, вы можете посоветовать.
<TableLayout
android:id="@+id/tableLayout2"
android:layout_width="wrap_content"
android:layout_height="450dp"
android:layout_marginStart="8dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="16dp"
android:gravity="center"
android:orientation="horizontal"
android:textAlignment="gravity"
app:layout_constraintBottom_toBottomOf="@+id/textView"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="0.125"
android:gravity="center_horizontal|center_vertical"
android:visibility="visible">
<Button
android:id="@+id/button1_1"
android:layout_width="0dp"
android:layout_height="match_parent"
android:background="@android:color/transparent"
android:foreground="@drawable/button_base"
android:longClickable="true"
android:onClick="sendMessage"
android:singleLine="false"
android:soundEffectsEnabled="false"
app:layout_constraintDimensionRatio="1.0"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/button1_2"
android:layout_width="0dp"
android:layout_height="match_parent"
android:background="@android:color/transparent"
android:contentDescription="2222"
android:foreground="@drawable/button_base"
android:onClick="sendMessage"
app:layout_constraintDimensionRatio="1.0"
app:layout_constraintLeft_toRightOf="@id/button1_1"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/button1_3"
android:layout_width="0dp"
android:layout_height="match_parent"
android:background="@android:color/transparent"
android:foreground="@drawable/button_base"
android:onClick="sendMessage"
app:layout_constraintDimensionRatio="1.0"
app:layout_constraintLeft_toRightOf="@id/button1_2"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/button1_4"
android:layout_width="0dp"
android:layout_height="match_parent"
android:background="@android:color/transparent"
android:foreground="@drawable/button_base"
android:onClick="sendMessage"
app:layout_constraintDimensionRatio="1.0"
app:layout_constraintLeft_toRightOf="@id/button1_3"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/button1_5"
android:layout_width="0dp"
android:layout_height="match_parent"
android:background="@android:color/transparent"
android:foreground="@drawable/button_base"
android:onClick="sendMessage"
android:visibility="visible"
app:layout_constraintDimensionRatio="1.0"
app:layout_constraintLeft_toRightOf="@id/button1_4"
app:layout_constraintTop_toTopOf="parent" />
</TableRow>