我正在尝试构建类似跳棋(不是实际的跳棋)的Android应用,但我在创建初始电路板布局时遇到了问题。我拥有游戏本身的所有java代码,但我现在需要将其同步并进行同步。与android环境。
我使用的是GridLayout,因为我的游戏是基于2D数组的,我认为最简单的方法是将游戏数组中的每个单元格映射到网格中。
我的4x8表的XML如下:
<GridLayout 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:background="@color/Beige"
android:useDefaultMargins="true"
android:columnCount="4"
android:rowCount="8"
android:orientation="vertical"
tools:context="com.example.saltpepper.PlayTogetherActivity$PlaceholderFragment" >
<Button
android:layout_margin="3dp"
android:background="@color/DarkBlue"
/>
<Button
android:layout_margin="3dp"
android:background="@color/Beige"
/>
<Button
android:layout_margin="3dp"
android:background="@color/DarkBlue"
/>
<Button
android:layout_margin="3dp"
android:background="@color/Beige"
/>
<Button
android:layout_margin="3dp"
android:background="@color/DarkBlue"
/>
<Button
android:layout_margin="3dp"
android:background="@color/Beige"
/>
<Button
android:layout_margin="3dp"
android:background="@color/DarkBlue"
/>
<Button
android:layout_margin="3dp"
android:background="@color/Beige"
/>
<Button
android:layout_margin="3dp"
android:background="@color/Beige"
/>
<Button
android:layout_margin="3dp"
android:background="@color/DarkBlue"
/>
<Button
android:layout_margin="3dp"
android:background="@color/Beige"
/>
<Button
android:layout_margin="3dp"
android:background="@color/DarkBlue"
/>
<Button
android:layout_margin="3dp"
android:background="@color/Beige"
/>
<Button
android:layout_margin="3dp"
android:background="@color/DarkBlue"
/>
<Button
android:layout_margin="3dp"
android:background="@color/Beige"
/>
<Button
android:layout_margin="3dp"
android:background="@color/DarkBlue"
/>
<Button
android:layout_margin="3dp"
android:background="@color/DarkBlue"
/>
<Button
android:layout_margin="3dp"
android:background="@color/Beige"
/>
<Button
android:layout_margin="3dp"
android:background="@color/DarkBlue"
/>
<Button
android:layout_margin="3dp"
android:background="@color/Beige"
/>
<Button
android:layout_margin="3dp"
android:background="@color/DarkBlue"
/>
<Button
android:layout_margin="3dp"
android:background="@color/Beige"
/>
<Button
android:layout_margin="3dp"
android:background="@color/DarkBlue"
/>
<Button
android:layout_margin="3dp"
android:background="@color/Beige"
/>
<Button
android:layout_margin="3dp"
android:background="@color/Beige"
/>
<Button
android:layout_margin="3dp"
android:background="@color/DarkBlue"
/>
<Button
android:layout_margin="3dp"
android:background="@color/Beige"
/>
<Button
android:layout_margin="3dp"
android:background="@color/DarkBlue"
/>
<Button
android:layout_margin="3dp"
android:background="@color/Beige"
/>
<Button
android:layout_margin="3dp"
android:background="@color/DarkBlue"
/>
<Button
android:layout_margin="3dp"
android:background="@color/Beige"
/>
<Button
android:layout_margin="3dp"
android:background="@color/DarkBlue"
/>
</GridLayout>
但由于某种原因,它会将整个桌面对齐到屏幕的左上角,因此有无关的空白区域,如您所见:
为什么会发生这种情况?在此先感谢您的帮助!
答案 0 :(得分:-1)
您创建了一个未使用gravity
和stretchMode
参数设置的网格布局,
据我了解你的问题,
您没有在gravity
内实施stretchMode
和grid layout
将这些参数添加到xml
<?xml version="1.0" encoding="utf-8"?>
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
...
android:stretchMode="columnWidth"
android:gravity="center"
/>
有关创建自定义网格元素的更多详细信息,请访问here。