Android中的GridLayout太大

Android中的GridLayout太大,android,android-gridlayout,Android,Android Gridlayout,我的GridLayout如下所示: 但它应该是这样的: 我不知道如何修正那个错误。我不使用dp,因为我想支持多种屏幕尺寸 我的.xml文件: <GridLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/GridLayout" android:backgro

我的
GridLayout
如下所示:

但它应该是这样的:

我不知道如何修正那个错误。我不使用
dp
,因为我想支持多种屏幕尺寸

我的
.xml
文件:

<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/GridLayout"
    android:background="@drawable/border"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:columnCount="12"
    android:rowCount="2"
    android:orientation="horizontal" >

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button3"
        android:background="@color/red"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="3" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button6"
        android:background="@color/black"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="6" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button9"
        android:background="@color/red"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="9" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button12"
        android:background="@color/red"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="12" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button15"
        android:background="@color/black"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="15" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button18"
        android:background="@color/red"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="18" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button21"
        android:background="@color/red"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="21" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button24"
        android:background="@color/black"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="24" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button27"
        android:background="@color/red"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="27" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button30"
        android:background="@color/red"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="30" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button33"
        android:background="@color/black"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="33" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button36"
        android:background="@color/red"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="36" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button2"
        android:background="@color/black"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="2" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button5"
        android:background="@color/red"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="5" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button8"
        android:background="@color/black"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="8" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button11"
        android:background="@color/black"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="11" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button14"
        android:background="@color/red"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="14" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button17"
        android:background="@color/black"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="17" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button20"
        android:background="@color/black"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="20" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button23"
        android:background="@color/red"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="23" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button26"
        android:background="@color/black"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="26" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button29"
        android:background="@color/black"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="29" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button32"
        android:background="@color/red"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="32" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button35"
        android:background="@color/black"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="35" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button1"
        android:background="@color/red"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="1" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button4"
        android:background="@color/black"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="4" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button7"
        android:background="@color/red"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="7" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button10"
        android:background="@color/black"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="10" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button13"
        android:background="@color/black"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="13" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button16"
        android:background="@color/red"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="16" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button19"
        android:background="@color/red"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="19" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button22"
        android:background="@color/black"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="22" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button25"
        android:background="@color/red"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="25" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button28"
        android:background="@color/black"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="28" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button31"
        android:background="@color/black"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="31" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button34"
        android:background="@color/red"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="34" />
</GridLayout>


您知道如何解决这个问题吗?

请记住,dp unity与屏幕的像素比有关,并且由android自动调整以适应当前显示

请记住,可以根据屏幕大小、屏幕密度和屏幕方向为标注变量指定不同的值

您要做的是设置一个相对于轮子的尺寸,它不是一个元素,所以您想设置什么样的按钮网格宽度?你不能用这种方式实现你的目标

对我来说,你应该把你的背景分割成两个图像:第一个带轮子,第二个带背景的其余部分。然后,您可以使用RelativeLayout,其中控制盘定位在其父对象的左侧,第二个图像是GridLayout的背景,定位在控制盘图像的右侧。通过这种方式,您可以将GridLayout width设置为
match\u parent
,与
toRightOf
一起使用,结果是GridLayout占据了右侧的所有空白

我举一个例子:

<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”>

    <ImageView
        android:id="@+id/wheel” 
        android:layout_width=“wrap_content”
            android:layout_height="match_parent”
        android:src=“@drawable/wheel” />

<GridLayout 
    android:id="@+id/GridLayout"
    android:background="@drawable/border"
    android:layout_width=“match_parent”
    android:layout_height="wrap_content"
    android:toRightOf=“@+id/wheel”
    android:layout_alignParentRight="true"
    android:columnCount="12"
    android:rowCount="2"
    android:orientation="horizontal" >

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button3"
        android:background="@color/red"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="3" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button6"
        android:background="@color/black"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="6" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button9"
        android:background="@color/red"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="9" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button12"
        android:background="@color/red"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="12" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button15"
        android:background="@color/black"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="15" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button18"
        android:background="@color/red"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="18" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button21"
        android:background="@color/red"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="21" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button24"
        android:background="@color/black"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="24" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button27"
        android:background="@color/red"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="27" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button30"
        android:background="@color/red"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="30" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button33"
        android:background="@color/black"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="33" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button36"
        android:background="@color/red"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="36" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button2"
        android:background="@color/black"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="2" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button5"
        android:background="@color/red"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="5" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button8"
        android:background="@color/black"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="8" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button11"
        android:background="@color/black"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="11" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button14"
        android:background="@color/red"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="14" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button17"
        android:background="@color/black"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="17" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button20"
        android:background="@color/black"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="20" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button23"
        android:background="@color/red"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="23" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button26"
        android:background="@color/black"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="26" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button29"
        android:background="@color/black"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="29" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button32"
        android:background="@color/red"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="32" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button35"
        android:background="@color/black"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="35" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button1"
        android:background="@color/red"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="1" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button4"
        android:background="@color/black"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="4" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button7"
        android:background="@color/red"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="7" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button10"
        android:background="@color/black"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="10" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button13"
        android:background="@color/black"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="13" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button16"
        android:background="@color/red"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="16" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button19"
        android:background="@color/red"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="19" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button22"
        android:background="@color/black"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="22" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button25"
        android:background="@color/red"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="25" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button28"
        android:background="@color/black"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="28" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button31"
        android:background="@color/black"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="31" />

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/button34"
        android:background="@color/red"
        android:textColor="@color/white"
        android:layout_gravity="left|top"
        android:text="34" />
</GridLayout>


</RelativeLayout>

我认为在GridLayout中使用android:layout\u width=“wrap\u content”而不是android:layout\u width=“match\u parent”@fireglovesno,因为match_parent和toRightOf以及alignParentRight的结合应该会导致使用车轮右侧的所有可用空间Ohhh..是的,您使用了toRightOf。我忘了。所以我可以使用dp吗?它在更大的设备上看起来是一样的?不,它有点复杂。但您可以使用不同的dimens.xml文件来匹配不同的屏幕大小。您应该使用值-[identificator]文件夹名称来实现此目标