我有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>
你的表格行实际上是全宽,但由于默认左侧重力,它在左侧使用波纹管代码为任何行你会知道它有什么区别
<TableRow
android:background="#666"
android:gravity="center">