我正在制作一个游戏,我为我的游戏准备了一个布局,但是在我运行应用程序之后布局发生了变化。之前也发生了我,但我可以找到一条出路。让我知道你有没有解决方案。我还附上了我的布局图片。
此外,我想知道如何准备一个响应式布局,在所有Android设备上运行并且看起来很完美。
这是我准备的布局
这是我运行应用程序时的布局
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Start!"
android:id="@+id/button"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
android:onClick="start"
android:visibility="visible"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:id="@+id/gameTimer"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:textSize="40sp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="0/0"
android:id="@+id/gameScore"
android:textSize="40sp"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:visibility="invisible"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="5+0"
android:id="@+id/gameSum"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:textSize="35sp"
android:visibility="invisible"/>
<GridLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/gameTimer"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="25dp"
android:id="@+id/gridLayout"
android:visibility="invisible">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="3"
android:id="@+id/button0"
android:layout_row="0"
android:layout_gravity="fill"
android:tag="0"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:layout_column="0"
android:padding="30dp"
android:textSize="40sp"
android:onClick="selectAnswer"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="3"
android:onClick="selectAnswer"
android:id="@+id/button1"
android:layout_row="1"
android:layout_gravity="fill"
android:tag="1"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:padding="30dp"
android:textSize="40sp"
android:layout_column="0"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="selectAnswer"
android:text="3"
android:id="@+id/button2"
android:layout_row="0"
android:layout_gravity="fill"
android:tag="2"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:padding="30dp"
android:textSize="40sp"
android:layout_column="1"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="5"
android:id="@+id/button3"
android:layout_row="1"
android:layout_gravity="fill"
android:onClick="selectAnswer"
android:tag="3"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:padding="30dp"
android:textSize="40sp"
android:layout_column="1"/>
</GridLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:id="@+id/answerStatus"
android:layout_below="@+id/gridLayout"
android:layout_centerHorizontal="true"
android:layout_marginTop="30dp"
android:textSize="40sp"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="PlayAgain!"
android:id="@+id/again"
android:layout_below="@+id/answerStatus"
android:layout_centerHorizontal="true"
android:onClick="reset"
android:visibility="invisible"/>
答案 0 :(得分:0)
尝试将Grid:layout_gravity =“fill”更改为:GridLayout中的按钮的android:gravity =“fill”。
GridLayout help的“超额空间分布”部分也可以提供相同的提示。