【发布时间】:2016-10-08 00:37:05
【问题描述】:
已提出此问题但未回答,因此我将添加另一个实例。原件在这里,这正是我的问题。这是 XML:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.slidamusic.gridlayoutdemo.GridDemo">
<GridLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="fill"
android:text="New Button"
android:id="@+id/button"
android:layout_row="0"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:layout_column="0" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="fill"
android:text="New Button"
android:id="@+id/button1"
android:layout_row="0"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:layout_column="1" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="fill"
android:text="New Button"
android:id="@+id/button2"
android:layout_row="1"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:layout_column="0" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="fill"
android:text="New Button"
android:id="@+id/button3"
android:layout_row="1"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:layout_column="1" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="fill"
android:text="New Button"
android:id="@+id/button4"
android:layout_row="2"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:layout_column="0" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="fill"
android:text="New Button"
android:id="@+id/button5"
android:layout_row="2"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:layout_column="1" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="fill"
android:text="New Button"
android:id="@+id/button6"
android:layout_row="3"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:layout_column="0" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="fill"
android:text="New Button"
android:id="@+id/button7"
android:layout_row="3"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:layout_column="1" />
</GridLayout>
这是一个非常简单的 8 个按钮布局,在预览中它们都完全对齐并且大小相同,分为 2 列和 4 行。当我在平板电脑上运行程序时,事情变得更加混乱,或多或少是这样的:
GridLayout does not expand elements evenly
我假设问题可能与 android:layout_gravity="fill" 有关,如预览所示。
【问题讨论】: