我的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>
你知道如何解决这个问题吗?
答案 0 :(得分:0)
请记住,dp unity是相对于屏幕的像素比率,并由android自动调整到当前显示。
请注意,您可以根据屏幕尺寸,屏幕密度和屏幕方向为尺寸变量指定不同的值。
您要做的是设置相对于滚轮的尺寸,这不是一个元素,那么您想要设置按钮的网格宽度是多少?你无法以这种方式实现目标。
对我来说,你应该将你的背景分成两个图像:第一个带轮子,第二个带有背景。然后你可以使用一个RelativeLayout,其中轮子锚定在他父母的左边,第二个图像是GridLayout的背景,锚定在轮子图像的右边。通过这种方式,您可以将GridLayout宽度设置为match_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>
现在我无法尝试,让我知道它是否有效