TableLayout不占用整个屏幕高度

问题描述 投票:0回答:2

我有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>

android height android-tablayout
2个回答
1
投票

干得好:

<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


0
投票

你的表格行实际上是全宽,但由于默认左侧重力,它在左侧使用波纹管代码为任何行你会知道它有什么区别

<TableRow 
        android:background="#666"
        android:gravity="center">
© www.soinside.com 2019 - 2024. All rights reserved.