Может быть ConstraintLayout layout_constraintDimensionRatio используется tableLayout - PullRequest
0 голосов
/ 29 марта 2020

Я пытаюсь использовать 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>
...