【发布时间】:2016-04-28 23:15:15
【问题描述】:
我一直在不同设备上测试我的程序,但布局总是不同。这是布局的xml
<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=".MainActivity">
<TextView
android:id="@+id/counterView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:gravity="center"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textSize="50dp" />
<EditText
android:id="@+id/passwordField"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/counterView"
android:layout_marginTop="30dp"
android:cursorVisible="false"
android:editable="false"
android:ems="10"
android:gravity="center"
android:inputType="textPassword"
android:maxLength="8"
android:textSize="50dp" />
<GridLayout
android:id="@+id/numberPad"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:layout_below="@id/passwordField"
android:columnCount="3"
android:horizontalSpacing="0dp"
android:rowCount="6"
android:stretchMode="columnWidth"
android:verticalSpacing="0dp">
<Button
android:id="@+id/btnOne"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="0"
android:layout_columnWeight="1"
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_columnWeight="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_columnWeight="1"
android:layout_gravity="fill_horizontal"
android:layout_row="0"
android:onClick="addInput"
android:text="@string/three" />
<Button
android:id="@+id/btnFour"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:layout_gravity="fill_horizontal"
android:onClick="addInput"
android:text="@string/four" />
<Button
android:id="@+id/btnFive"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:layout_gravity="fill_horizontal"
android:onClick="addInput"
android:text="@string/five" />
<Button
android:id="@+id/btnSix"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:layout_gravity="fill_horizontal"
android:onClick="addInput"
android:text="@string/six" />
<Button
android:id="@+id/btnSeven"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:layout_gravity="fill_horizontal"
android:onClick="addInput"
android:text="@string/seven" />
<Button
android:id="@+id/btnEight"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:layout_gravity="fill_horizontal"
android:onClick="addInput"
android:text="@string/eight" />
<Button
android:id="@+id/btnNine"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:layout_gravity="fill_horizontal"
android:onClick="addInput"
android:text="@string/nine" />
<Button
android:id="@+id/btnZero"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_columnSpan="3"
android:layout_columnWeight="3"
android:layout_gravity="fill_horizontal"
android:onClick="addInput"
android:text="@string/zero" />
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="0"
android:layout_columnSpan="3"
android:layout_columnWeight="3"
android:layout_gravity="fill_horizontal"
android:layout_row="4"
android:gravity="center"
android:textAppearance="?android:attr/textAppearanceLarge" />
<Button
android:id="@+id/plantBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="0"
android:layout_columnSpan="3"
android:layout_columnWeight="3"
android:layout_gravity="fill"
android:layout_row="5"
android:onClick="plantBomb" />
</GridLayout>
第 3 列似乎有不同的宽度,我该如何解决这个问题? 部分设备使用的是 android 4.x 及更高版本。
【问题讨论】:
-
您是否尝试将按钮的宽度设置为
match_parent? -
它不起作用,第一个按钮只会填满宽度,另一个按钮会被隐藏
标签: android grid-layout android-gridlayout