我刚看了一个关于如何制作游戏的教程(tictactoe)。唯一的问题是在不同尺寸的手机上调整ImageViews的大小和重新定位。我搜索了它,有android:layout_weight,但这没有帮助?任何帮助非常感谢。
我的xml文件如下所示:
<GridLayout
android:id="@+id/gridLayout"
android:layout_width="match_parent"
android:layout_height="360dp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:background="@drawable/grid1"
android:columnCount="3"
android:rowCount="3">
<ImageView
android:id="@+id/imageView"
android:layout_width="90dp"
android:layout_height="90dp"
android:layout_column="0"
android:layout_marginBottom="10dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginTop="10dp"
android:layout_row="0"
android:onClick="dropIn"
android:tag="0" />
<ImageView
android:id="@+id/imageView1"
android:layout_width="90dp"
android:layout_height="90dp"
android:layout_column="1"
android:layout_marginLeft="5dp"
android:layout_marginTop="10dp"
android:layout_row="0"
android:onClick="dropIn"
android:tag="1" />
<ImageView
android:id="@+id/imageView2"
android:layout_width="90dp"
android:layout_height="90dp"
android:layout_column="1"
android:layout_marginLeft="5dp"
android:layout_marginTop="20dp"
android:layout_row="1"
android:onClick="dropIn"
android:tag="4" />
<ImageView
android:id="@+id/imageView3"
android:layout_width="90dp"
android:layout_height="90dp"
android:layout_column="2"
android:layout_marginTop="10dp"
android:layout_row="0"
android:onClick="dropIn"
android:tag="2" />
<ImageView
android:id="@+id/imageView4"
android:layout_width="90dp"
android:layout_height="90dp"
android:layout_column="2"
android:layout_marginTop="20dp"
android:layout_row="1"
android:onClick="dropIn"
android:tag="5" />
<ImageView
android:id="@+id/imageView5"
android:layout_width="90dp"
android:layout_height="90dp"
android:layout_column="0"
android:layout_marginTop="20dp"
android:layout_row="1"
android:onClick="dropIn"
android:tag="3" />
<ImageView
android:id="@+id/imageView6"
android:layout_width="90dp"
android:layout_height="90dp"
android:layout_column="2"
android:layout_marginTop="40dp"
android:layout_row="2"
android:onClick="dropIn"
android:tag="8" />
<ImageView
android:id="@+id/imageView7"
android:layout_width="90dp"
android:layout_height="90dp"
android:layout_column="0"
android:layout_marginTop="40dp"
android:layout_row="2"
android:onClick="dropIn"
android:tag="6" />
<ImageView
android:id="@+id/imageView8"
android:layout_width="90dp"
android:layout_height="90dp"
android:layout_column="1"
android:layout_marginLeft="5dp"
android:layout_marginTop="40dp"
android:layout_row="2"
android:onClick="dropIn"
android:tag="7" />
</GridLayout>
<Button
android:id="@+id/resetButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginLeft="14dp"
android:layout_marginStart="14dp"
android:onClick="reset"
android:text="Reset" />
<TextView
android:id="@+id/score1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:text="Circle score:" />
<TextView
android:id="@+id/score2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_marginEnd="27dp"
android:layout_marginRight="27dp"
android:text="Cross score:" />
<TextView
android:id="@+id/winner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/score1"
android:layout_toEndOf="@+id/resetButton"
android:layout_toRightOf="@+id/resetButton" />
答案 0 :(得分:0)
我猜你正在设置一个背景图像来制作tictactoe盒子(2个水平线和2个垂直线)。这将使您难以定位您的蓝盒子。你必须做的是自己创造这些线条。
{{1}}
这将创建一条垂直黑线。现在你需要为bluebox做的就是设置android:layout_toRightOf =&#34; @ id / vertical_line&#34;
答案 1 :(得分:0)
我会考虑使用GridView
ImageViews
。您可以将numColumns和numRows设置为3,并将其配置为在您遇到的任何屏幕尺寸上看起来都是正方形