Неправильный вес таблицы - PullRequest
       3

Неправильный вес таблицы

0 голосов
/ 10 февраля 2019

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

Я знаю, что Table Layout довольно устарел, но я серьезно не хочу использовать Constraint Layout, я его абсолютно ненавижу.Это слишком много работы для того, что я делаю.

activity_main.xml

enter image description here

<?xml version="1.0" encoding="utf-8"?>
<androidx.appcompat.widget.LinearLayoutCompat
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MainActivity" android:background="@android:color/background_light"
        android:orientation="vertical">
    <TableLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent" android:layout_weight="8" android:orientation="horizontal">

        <TableRow android:layout_width="match_parent" android:layout_height="match_parent">
            <TextView
                    android:text="@string/loan_amount"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" android:id="@+id/textView15" android:textSize="18sp"
                    android:textStyle="bold" android:layout_weight="3"/>
            <EditText
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:inputType="numberDecimal"
                    android:ems="10"
                    android:id="@+id/loanAmount" android:layout_weight="7"/>
        </TableRow>
        <TableRow
                android:layout_width="match_parent"
                android:layout_height="match_parent">
            <TextView
                    android:text="TextView"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" android:id="@+id/textView38" android:layout_weight="1"/>
            <TextView
                    android:text="TextView"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" android:id="@+id/textView39" android:layout_weight="1"/>
            <TextView
                    android:text="TextView"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" android:id="@+id/textView40" android:layout_weight="1"/>
        </TableRow>
    </TableLayout>
</androidx.appcompat.widget.LinearLayoutCompat>

1 Ответ

0 голосов
/ 10 февраля 2019

Просто установите layout_width на 0dp в элементах TableRow.Если вы хотите центрировать содержимое, добавьте android:gravity="center" к TextViews.

Код без гравитации будет выглядеть так:

<TableRow
            android:layout_width="match_parent"
            android:layout_height="match_parent">
        <TextView
                android:text="TextView"
                android:layout_width="0dp"
                android:layout_height="wrap_content" android:id="@+id/textView38" android:layout_weight="1"/>
        <TextView
                android:text="TextView"
                android:layout_width="0dp"
                android:layout_height="wrap_content" android:id="@+id/textView39" android:layout_weight="1"/>
        <TextView
                android:text="TextView"
                android:layout_width="0dp"
                android:layout_height="wrap_content" android:id="@+id/textView40" android:layout_weight="1"/>
    </TableRow>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...