我正在尝试在GridLayout中放置一个4x6网格的按钮,但有些按钮被放置在布局的边界之外,并且不知道如何修复它。基本上我希望缩小所有按钮视图以适应网格布局。
<GridLayout
android:id="@+id/grid_buttons"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:columnCount="6"
android:rowCount="4">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="0"
android:layout_row="0"
android:text="@string/button_1"/>
<Button
android:layout_weight="1"
android:layout_column="1"
android:layout_row="0"
android:text="@string/button_2"/>
<Button
android:layout_weight="1"
android:layout_column="2"
android:layout_row="0"
android:text="@string/button_3"/>
<Button
android:layout_weight="1"
android:layout_column="0"
android:layout_row="1"
android:text="@string/button_4"/>
<Button
android:layout_weight="1"
android:layout_column="1"
android:layout_row="1"
android:text="@string/button_5"/>
<Button
android:layout_weight="1"
android:layout_column="2"
android:layout_row="1"
android:text="@string/button_6"/>
<Button
android:layout_weight="1"
android:layout_column="0"
android:layout_row="2"
android:text="@string/button_7"/>
<Button
android:layout_weight="1"
android:layout_column="1"
android:layout_row="2"
android:text="@string/button_8"/>
<Button
android:layout_weight="1"
android:layout_column="2"
android:layout_row="2"
android:text="@string/button_9"/>
<Button
android:layout_weight="1"
android:layout_column="1"
android:layout_row="3"
android:text="@string/button_0"/>
<Button
android:layout_weight="1"
android:layout_column="3"
android:layout_row="0"
android:text="@string/button_A"/>
<Button
android:layout_weight="1"
android:layout_column="4"
android:layout_row="0"
android:text="@string/button_B"/>
<Button
android:layout_weight="1"
android:layout_column="5"
android:layout_row="0"
android:text="@string/button_C"/>
<Button
android:layout_weight="1"
android:layout_column="3"
android:layout_row="1"
android:text="@string/button_D"/>
<Button
android:layout_weight="1"
android:layout_column="4"
android:layout_row="1"
android:text="@string/button_E"/>
<Button
android:layout_weight="1"
android:layout_column="5"
android:layout_row="1"
android:text="@string/button_F"/>
</GridLayout>
答案 0 :(得分:2)
使用多个GridLayout
XML属性LinearLayout
和android:layout_weight
,您可以轻松实现所需结果,而不是android:weightSum
。
这是您的4*6
网格。只需根据需要更改按钮文本。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:weightSum="4">
<!-- First Row -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:orientation="horizontal"
android:layout_weight="1"
android:weightSum="6">
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="1"/>
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="2"/>
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="3"/>
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="4"/>
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="5"/>
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="6"/>
</LinearLayout>
<!-- Second Row -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:orientation="horizontal"
android:layout_weight="1"
android:weightSum="6">
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="7"/>
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="8"/>
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="9"/>
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="10"/>
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="11"/>
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="12"/>
</LinearLayout>
<!-- Third Row -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:orientation="horizontal"
android:layout_weight="1"
android:weightSum="6">
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="13"/>
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="14"/>
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="15"/>
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="16"/>
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="17"/>
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="18"/>
</LinearLayout>
<!-- Fourth Row -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:orientation="horizontal"
android:layout_weight="1"
android:weightSum="6">
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="19"/>
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="20"/>
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="21"/>
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="22"/>
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="23"/>
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="24"/>
</LinearLayout>
希望这会对你有帮助〜