我正在尝试为练习制作计时器应用程序,而我遇到的问题是gridview与其他人没有相同的大小。
这是代码的一部分
<GridLayout
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:layout_below="@id/passwordField"
android:columnCount="3"
android:rowCount="4"
android:verticalSpacing="0dp"
android:horizontalSpacing="0dp"
android:stretchMode="columnWidth">
<Button
android:id="@+id/btnOne"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="0"
android:layout_gravity="fill_horizontal"
android:layout_row="0"
android:onClick="addInput"
android:text="@string/one" />
<Button
android:id="@+id/btnTwo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="1"
android:layout_gravity="fill_horizontal"
android:layout_row="0"
android:onClick="addInput"
android:text="@string/two" />
<Button
android:id="@+id/btnThree"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="2"
android:layout_gravity="fill_horizontal"
android:layout_row="0"
android:onClick="addInput"
android:text="@string/three" /> </GridLayout>
之后还有更多按钮,但这就是我现在需要展示的全部内容 从图像中可以看出:
它没有相同的单元格大小,其中第3列比其他列大。 我该怎么做才能解决这个问题?
我之前已将RelativeLayout放在正确的位置,但按钮并没有拉伸以填充宽度。
答案 0 :(得分:2)
将此属性应用于每个按钮xml
android:layout_columnWeight="1"
答案 1 :(得分:2)
layout_columnWeight
是缺失的部分。请注意,您也可以简化Button声明:
<GridLayout
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:layout_below="@id/passwordField"
android:columnCount="3"
android:rowCount="4"
android:verticalSpacing="0dp"
android:horizontalSpacing="0dp">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="addInput"
android:text="@string/one"
android:layout_columnWeight="1"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:onClick="addInput"
android:text="@string/two" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:onClick="addInput"
android:text="@string/three" />
</GridLayout>