Android 使用gridlayout的图像对齐问题
当我将APK导出到手机进行测试时,我对图片的对齐有一些问题。路线完全不同,不在网格内Android 使用gridlayout的图像对齐问题,android,layout,grid,Android,Layout,Grid,当我将APK导出到手机进行测试时,我对图片的对齐有一些问题。路线完全不同,不在网格内 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://sche
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
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"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context="sg.edu.rp.c346.tictactoee.MainActivity"
tools:showIn="@layout/activity_main">
<GridLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/board"
android:columnCount="4"
android:rowCount="3"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
android:id="@+id/gridLayout">
<ImageView
android:layout_width="90dp"
android:layout_height="90dp"
android:id="@+id/imageView0"
android:layout_row="0"
android:layout_column="0"
android:onClick="gameLogic"
android:tag="0"
android:layout_marginLeft="0dp"
android:layout_marginTop="50dp" />
<ImageView
android:layout_width="90dp"
android:layout_height="90dp"
android:id="@+id/imageView1"
android:layout_row="0"
android:layout_column="1"
android:onClick="gameLogic"
android:tag="1"
android:layout_marginTop="50dp"
android:layout_marginLeft="7dp" />
<ImageView
android:layout_width="90dp"
android:layout_height="90dp"
android:id="@+id/imageView2"
android:layout_row="0"
android:layout_column="2"
android:layout_marginLeft="20dp"
android:layout_marginTop="50dp"
android:onClick="gameLogic"
android:tag="2" />
<ImageView
android:layout_width="90dp"
android:layout_height="90dp"
android:id="@+id/imageView3"
android:layout_row="1"
android:layout_column="0"
android:layout_marginLeft="0dp"
android:layout_marginTop="50dp"
android:onClick="gameLogic"
android:tag="3"/>
<ImageView
android:layout_width="90dp"
android:layout_height="90dp"
android:id="@+id/imageView4"
android:layout_row="1"
android:layout_column="1"
android:layout_marginTop="50dp"
android:layout_marginLeft="7dp"
android:onClick="gameLogic"
android:tag="4"/>
<ImageView
android:layout_width="90dp"
android:layout_height="90dp"
android:id="@+id/imageView5"
android:layout_row="1"
android:layout_column="2"
android:layout_marginLeft="15dp"
android:layout_marginTop="50dp"
android:onClick="gameLogic"
android:tag="5"/>
<ImageView
android:layout_width="90dp"
android:layout_height="90dp"
android:id="@+id/imageView6"
android:layout_row="2"
android:layout_column="0"
android:layout_marginLeft="0dp"
android:layout_marginTop="30dp"
android:onClick="gameLogic"
android:tag="6"/>
<ImageView
android:layout_width="90dp"
android:layout_height="90dp"
android:id="@+id/imageView7"
android:layout_row="2"
android:layout_column="1"
android:layout_marginTop="30dp"
android:layout_marginLeft="7dp"
android:onClick="gameLogic"
android:tag="7"/>
<ImageView
android:layout_width="90dp"
android:layout_height="90dp"
android:id="@+id/imageView8"
android:layout_row="2"
android:layout_column="2"
android:layout_marginLeft="15dp"
android:layout_marginTop="30dp"
android:onClick="gameLogic"
android:tag="8"/>
</GridLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
android:background="#1eccd5"
android:padding="35dp"
android:id="@+id/winnerLayout">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:id="@+id/textView"
android:textColor="#FFFFFFFF" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Play Again"
android:id="@+id/button"
android:onClick="playAgain" />
</LinearLayout>
</RelativeLayout>
它使用android studio显示如下:
然而,当我将其导出到我的android手机时,对齐方式完全改变,并且脱离了网格,有人能帮助我吗?我想你是新来的
android
。
Android在您的设备上创建任何视图(屏幕)
时使用设备的尺寸。
Android支持不同的维度,比如
宽度和高度使用wrap\u content
您可以按如下方式修改布局文件:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
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"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<GridLayout
android:id="@+id/gridLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:columnCount="4"
android:rowCount="3">
<ImageView
android:id="@+id/imageView0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="0"
android:layout_row="0"
android:onClick="gameLogic"
android:padding="30dp"
android:src="@android:drawable/ic_menu_add"
android:tag="0"/>
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="1"
android:layout_row="0"
android:onClick="gameLogic"
android:padding="30dp"
android:src="@android:drawable/ic_menu_add"
android:tag="1"/>
<ImageView
android:id="@+id/imageView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="2"
android:layout_row="0"
android:onClick="gameLogic"
android:padding="30dp"
android:src="@android:drawable/ic_menu_add"
android:tag="2"/>
<ImageView
android:id="@+id/imageView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="0"
android:layout_row="1"
android:onClick="gameLogic"
android:padding="30dp"
android:src="@android:drawable/ic_menu_add"
android:tag="3"/>
<ImageView
android:id="@+id/imageView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="1"
android:layout_row="1"
android:onClick="gameLogic"
android:padding="30dp"
android:src="@android:drawable/ic_menu_add"
android:tag="4"/>
<ImageView
android:id="@+id/imageView5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="2"
android:layout_row="1"
android:onClick="gameLogic"
android:padding="30dp"
android:src="@android:drawable/ic_menu_add"
android:tag="5"/>
<ImageView
android:id="@+id/imageView6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="0"
android:layout_row="2"
android:onClick="gameLogic"
android:padding="30dp"
android:src="@android:drawable/ic_menu_add"
android:tag="6"/>
<ImageView
android:id="@+id/imageView7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="1"
android:layout_row="2"
android:onClick="gameLogic"
android:padding="30dp"
android:src="@android:drawable/ic_menu_add"
android:tag="7"/>
<ImageView
android:id="@+id/imageView8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="2"
android:layout_row="2"
android:onClick="gameLogic"
android:padding="30dp"
android:src="@android:drawable/ic_menu_add"
android:tag="8"/>
</GridLayout>
<LinearLayout
android:id="@+id/winnerLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:background="#1eccd5"
android:orientation="vertical"
android:padding="35dp"
android:visibility="gone">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="#FFFFFFFF"/>
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="playAgain"
android:text="Play Again"/>
</LinearLayout>
</RelativeLayout>
您可以根据需要更改padding
和src
如果不同,请添加您想要的图像
有关详细信息,请检查此项。在图像视图中添加填充
android:padding="10dp"
例如:
<ImageView
android:layout_width="90dp"
android:layout_height="90dp"
android:id="@+id/imageView0"
android:layout_row="0"
android:layout_column="0"
android:padding="10dp"
android:onClick="gameLogic"
android:tag="0"
android:layout_marginLeft="0dp"
android:layout_marginTop="50dp" />
这将解决您的问题。
- 将GridLayout更改为android.support.v7.widget.GridLayout
- 加
app:columnCount="3"
app:rowCount="3"
到GridView
- 关于ImageView的使用
app:layout_columnWeight="1"
app:layout_rowWeight="1"
而不是
android:layout_width="90dp"
android:layout_height="90dp"
xml文件如下所示
<android.support.v7.widget.GridLayout
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="500dp"
app:columnCount="3"
app:orientation="horizontal"
app:rowCount="3"
app:useDefaultMargins="true">
<ImageView
app:layout_columnWeight="1"
app:layout_rowWeight="1"
android:id="@+id/imageView0"
android:tag="0"
android:background="#ff0000" />
<ImageView
app:layout_columnWeight="1"
app:layout_rowWeight="1"
android:id="@+id/imageView1"
android:onClick="gameLogic"
android:tag="1"
android:background="#ff0000"/>
<ImageView
app:layout_columnWeight="1"
app:layout_rowWeight="1"
android:id="@+id/imageView2"
android:background="#ff0000"
android:onClick="gameLogic"
android:tag="2" />
<ImageView
app:layout_columnWeight="1"
app:layout_rowWeight="1"
android:id="@+id/imageView3"
android:background="#ff0000"
android:onClick="gameLogic"
android:tag="3"/>
<ImageView
app:layout_columnWeight="1"
app:layout_rowWeight="1"
android:id="@+id/imageView4"
android:background="#ff0000"
android:onClick="gameLogic"
android:tag="4"/>
<ImageView
app:layout_columnWeight="1"
app:layout_rowWeight="1"
android:id="@+id/imageView5"
android:background="#ff0000"
android:onClick="gameLogic"
android:tag="5"/>
<ImageView
app:layout_columnWeight="1"
app:layout_rowWeight="1"
android:id="@+id/imageView6"
android:background="#ff0000"
android:onClick="gameLogic"
android:tag="6"/>
<ImageView
app:layout_columnWeight="1"
app:layout_rowWeight="1"
android:id="@+id/imageView7"
android:background="#ff0000"
android:onClick="gameLogic"
android:tag="7"/>
<ImageView
app:layout_columnWeight="1"
app:layout_rowWeight="1"
android:id="@+id/imageView8"
android:background="#ff0000"
android:onClick="gameLogic"
android:tag="8"/>
</android.support.v7.widget.GridLayout>
请共享您的适配器类。