TableLayout 不占据整个屏幕高度

TableLayout not occupying whole screen height

我有 TableLayout,它只是一个带有 TableRows 和按钮的简单计算器键盘。不幸的是,我不知道如何让它占据整个屏幕高度(纵向和横向模式)。我试图用重量以某种方式实现它,但不幸的是它没有帮助。这是整个代码的摘录。

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:shrinkColumns="0, 1, 2"
         android:stretchColumns="3">
<TableRow>
    <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/button1"
            android:text="Bksp"
            android:onClick="keyboardHandler"/>
    <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/button1_1"
            android:text="AC"
            android:onClick="keyboardHandler"
    />
    <Button
            android:layout_height="wrap_content"
            android:id="@+id/button2"
            android:text="C"
            android:onClick="keyboardHandler"/>

</TableRow>

<TableRow>
    <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/button12"
            android:text="7"
            android:onClick="keyboardHandler"/>
    <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/button13"
            android:text="8"
            android:onClick="keyboardHandler"/>
    <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/button14"
            android:text="9"
            android:onClick="keyboardHandler"/>

</TableRow>



<TableRow>
    <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/button20"
            android:text="4"
            android:onClick="keyboardHandler"/>
    <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/button21"
            android:text="5"
            android:onClick="keyboardHandler"/>
    <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/button22"
            android:text="6"
            android:onClick="keyboardHandler"/>

</TableRow>


<TableRow>
    <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/button24"
            android:text="1"
            android:onClick="keyboardHandler"/>
    <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/button25"
            android:text="2"
            android:onClick="keyboardHandler"/>
    <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/button26"
            android:text="3"
            android:onClick="keyboardHandler"/>

</TableRow>

给你:

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
         android:layout_width="match_parent"
         android:layout_height="match_parent">

<TableRow
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1">

    <Button
        android:id="@+id/button1"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="match_parent"
        android:onClick="keyboardHandler"
        android:text="Bksp"/>

    <Button
        android:id="@+id/button1_1"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="match_parent"
        android:onClick="keyboardHandler"
        android:text="AC"
        />

    <Button
        android:id="@+id/button2"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="match_parent"
        android:onClick="keyboardHandler"
        android:text="C"/>

</TableRow>

<TableRow
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1">

    <Button
        android:id="@+id/button12"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="match_parent"
        android:onClick="keyboardHandler"
        android:text="7"/>

    <Button
        android:id="@+id/button13"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="match_parent"
        android:onClick="keyboardHandler"
        android:text="8"/>

    <Button
        android:id="@+id/button14"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="match_parent"
        android:onClick="keyboardHandler"
        android:text="9"/>

</TableRow>


<TableRow
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1">

    <Button
        android:id="@+id/button20"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="match_parent"
        android:onClick="keyboardHandler"
        android:text="4"/>

    <Button
        android:id="@+id/button21"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="match_parent"
        android:onClick="keyboardHandler"
        android:text="5"/>

    <Button
        android:id="@+id/button22"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="match_parent"
        android:onClick="keyboardHandler"
        android:text="6"/>

</TableRow>


<TableRow
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1">

    <Button
        android:id="@+id/button24"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="match_parent"
        android:onClick="keyboardHandler"
        android:text="1"/>

    <Button
        android:id="@+id/button25"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="match_parent"
        android:onClick="keyboardHandler"
        android:text="2"/>

    <Button
        android:id="@+id/button26"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="match_parent"
        android:onClick="keyboardHandler"
        android:text="3"/>

</TableRow>

</TableLayout>

https://imgur.com/T1MDSBk

https://imgur.com/W8JD2SX

您的 Table 行实际上占满了宽度,但由于默认的左侧重力,它位于左侧,对任何行使用波纹管代码,您就会知道它有什么不同

<TableRow 
        android:background="#666"
        android:gravity="center">