android 中的 table 布局不适合所有元素

All elements do not fit on table layout in android

以下是我的xml文件:

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tableLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="5dp"
android:stretchColumns="*" >

<TableRow
    android:id="@+id/tableRow0"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_weight="1" >

    <TextView
        android:id="@+id/billTextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="@string/billTotal"
        android:width="0dp" />

    <EditText
        android:id="@+id/billEditText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:ems="10"
        android:inputType="none"
        android:width="0dp" >

        <requestFocus />
    </EditText>

</TableRow>

<TableRow
    android:id="@+id/tableRow1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_weight="1" >

    <TextView
        android:id="@+id/tenTextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_column="1"
        android:layout_weight="1"
        android:text="10%"
        android:width="0dp" />

    <TextView
        android:id="@+id/fifteenTextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="15%"
        android:width="0dp" />

    <TextView
        android:id="@+id/twentyTextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="20%"
        android:width="0dp" />

</TableRow>

<TableRow
    android:id="@+id/tableRow2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_weight="1" >

    <TextView
        android:id="@+id/tipTextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="@string/tip"
        android:width="0dp" />

    <EditText
        android:id="@+id/tip10EditText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:ems="10"
        android:inputType="none"
        android:text="@string/zero"
        android:width="0dp" />

    <EditText
        android:id="@+id/tip15EditText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:ems="10"
        android:inputType="none"
        android:text="@string/zero"
        android:width="0dp" />

    <EditText
        android:id="@+id/tip20EditText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:ems="10"
        android:inputType="none"
        android:text="@string/zero"
        android:width="0dp" />

</TableRow>

<TableRow
    android:id="@+id/tableRow3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_weight="1" >

    <TextView
        android:id="@+id/totalTextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/total"
        android:layout_weight="1" />

    <EditText
        android:id="@+id/total10EditText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:ems="10"
        android:text="@string/zero"
        android:layout_weight="1" android:inputType="none"/>

    <EditText
        android:id="@+id/total15EditText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:ems="10"
        android:text="@string/zero"
        android:layout_weight="1" android:inputType="none" />

    <EditText
        android:id="@+id/total20EditText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:ems="10"
        android:text="@string/zero"
        android:layout_weight="1" android:inputType="none" />
</TableRow>

<TableRow
    android:id="@+id/tableRow4"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_weight="1" >

    <TextView
        android:id="@+id/customTextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/custom"
        android:layout_weight="1" />

    <SeekBar
        android:id="@+id/customSeekBar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1" />

    <TextView
        android:id="@+id/customTipTextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="18%"
        android:layout_weight="1" />

</TableRow>

<TableRow
    android:id="@+id/tableRow5"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_weight="1" >

    <TextView
        android:id="@+id/tipCustomTextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/tip"
        android:layout_weight="1" />

    <EditText
        android:id="@+id/tipCustomEditText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:ems="10"
        android:text="@string/zero"
        android:layout_weight="1" android:inputType="none" />

    <TextView
        android:id="@+id/totalCustomTextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/total"
        android:layout_weight="1" />

    <EditText
        android:id="@+id/totalCustomEditText"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"

        android:ems="10"
        android:text="@string/zero"
        android:layout_weight="1" android:inputType="none" />

</TableRow>

我用谷歌搜索了很多,但没有找到解决我问题的方法
我是 android 编程新手。
以下是GUI设计:
The GUI

我被困在这里了。请帮忙
提前致谢。

您需要在不需要时删除 android:layout_weight="1",并将某些视图 layout_widthwrap_content 更改为 match_parent

试试这个

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tableLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="5dp"
android:stretchColumns="*">

<TableRow
    android:id="@+id/tableRow0"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">

    <TextView
        android:id="@+id/billTextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:width="0dp"
        android:text="@string/billTotal" />

    <EditText
        android:id="@+id/billEditText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:width="0dp"
        android:ems="10"
        android:inputType="none">

        <requestFocus />
    </EditText>

</TableRow>

<TableRow
    android:id="@+id/tableRow1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">

    <TextView
        android:id="@+id/tenTextView"
        android:layout_width="0dip"
        android:layout_height="wrap_content"
        android:layout_column="1"
        android:layout_weight="1"
        android:text="10%" />

    <TextView
        android:id="@+id/fifteenTextView"
        android:layout_width="0dip"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="15%" />

    <TextView
        android:id="@+id/twentyTextView"
        android:layout_width="0dip"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="20%" />

</TableRow>

<TableRow
    android:id="@+id/tableRow2"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">

    <TextView
        android:id="@+id/tipTextView"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="@string/tip" />

    <EditText
        android:id="@+id/tip10EditText"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:ems="10"
        android:inputType="none"
        android:text="@string/zero" />

    <EditText
        android:id="@+id/tip15EditText"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:ems="10"
        android:inputType="none"
        android:text="@string/zero" />

    <EditText
        android:id="@+id/tip20EditText"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:ems="10"
        android:inputType="none"
        android:text="@string/zero" />

</TableRow>

<TableRow
    android:id="@+id/tableRow3"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">

    <TextView
        android:id="@+id/totalTextView"
        android:layout_width="0dip"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="@string/total" />

    <EditText
        android:id="@+id/total10EditText"
        android:layout_width="0dip"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:ems="10"
        android:inputType="none"
        android:text="@string/zero" />

    <EditText
        android:id="@+id/total15EditText"
        android:layout_width="0dip"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:ems="10"
        android:inputType="none"
        android:text="@string/zero" />

    <EditText
        android:id="@+id/total20EditText"
        android:layout_width="0dip"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:ems="10"
        android:inputType="none"
        android:text="@string/zero" />
</TableRow>

<TableRow
    android:id="@+id/tableRow4"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">

    <TextView
        android:id="@+id/customTextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/custom" />

    <SeekBar
        android:id="@+id/customSeekBar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1" />

    <TextView
        android:id="@+id/customTipTextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="18%" />

</TableRow>

<TableRow
    android:id="@+id/tableRow5"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">

    <TextView
        android:id="@+id/tipCustomTextView"
        android:layout_width="0dip"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="@string/tip" />

    <EditText
        android:id="@+id/tipCustomEditText"
        android:layout_width="0dip"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:ems="10"
        android:inputType="none"
        android:text="@string/zero" />

    <TextView
        android:id="@+id/totalCustomTextView"
        android:layout_width="0dip"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="@string/total" />

    <EditText
        android:id="@+id/totalCustomEditText"
        android:layout_width="0dip"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:ems="10"
        android:inputType="none"
        android:text="@string/zero" />

</TableRow>
</TableLayout>
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tableLayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:stretchColumns="*" >

<TableRow
    android:id="@+id/tableRow0"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_row="1"
    android:padding="5dp">

    <TextView
        android:id="@+id/billTextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="BillTotal:"
        android:layout_column="0"/>

    <EditText
        android:id="@+id/billEditText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:ems="10"
        android:inputType="none"
        android:width="0dp"
        android:layout_column="1"
        android:layout_span="4">
    </EditText>

</TableRow>

<TableRow
    android:id="@+id/tableRow1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_row="2"
    android:weightSum="4"
    android:padding="5dp">

    <TextView
        android:id="@+id/tenTextView"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_column="1"
        android:text="10%"
        android:layout_weight="1"/>

    <TextView
        android:id="@+id/fifteenTextView"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:text="15%"
        android:layout_weight="1"/>

    <TextView
        android:id="@+id/twentyTextView"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:text="20%"
        android:layout_weight="1"/>

</TableRow>

<TableRow
    android:id="@+id/tableRow2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_row="3"
    android:weightSum="3"
    android:padding="5dp">

    <TextView
        android:id="@+id/tipTextView"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_column="0"
        android:text="Tip:"
        android:width="2dp" />

    <EditText
        android:id="@+id/tip10EditText"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:ems="10"
        android:inputType="none"
        android:text="@string/zero"
        android:width="2dp"
        android:layout_weight="1"/>

    <EditText
        android:id="@+id/tip15EditText"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:ems="10"
        android:inputType="none"
        android:text="@string/zero"
        android:width="2dp"
        android:layout_weight="1"/>

    <EditText
        android:id="@+id/tip20EditText"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:ems="10"
        android:inputType="none"
        android:text="@string/zero"
        android:width="2dp"
        android:layout_weight="1"/>

</TableRow>

<TableRow
    android:id="@+id/tableRow4"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:weightSum="3"
    android:padding="5dp">

    <TextView
        android:id="@+id/customTextView"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:text="Custom:"
        android:layout_weight="1"/>

    <SeekBar
        android:id="@+id/customSeekBar"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"/>

    <TextView
        android:id="@+id/customTipTextView"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:text="18%"
        android:layout_weight="1"/>

</TableRow>


<TableRow
    android:id="@+id/tableRow5"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:weightSum="4">

    <TextView
        android:id="@+id/tipCustomTextView"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:text="Tip:"
        android:layout_weight="1"/>

    <EditText
        android:id="@+id/tipCustomEditText"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:text="zero"
        android:inputType="none"
        android:layout_weight="1"/>

    <TextView
        android:id="@+id/tipCustomTextView1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:text="Total:"
        android:layout_weight="1"/>

    <EditText
        android:id="@+id/tipCustomEditText1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:text="zero"
        android:inputType="none"
        android:layout_weight="1"/>
</TableRow>

</TableLayout>