我使用网格布局在屏幕上放置一个8x8网格按钮。由于我是Android的新手,我不确定如何使所有按钮适合所有不同的Android手机。
例如,当我在虚拟Nexus 6上安装8x8网格时,按钮非常合适。但是在Nexus 7上,左侧行和屏幕边缘以及右侧行和屏幕右侧边缘之间有额外的空间。然后在Nexus 4上,第7和第8列按钮不在屏幕上。
我确定你理解我想要表达的观点,所以如果有人能帮助我理解它,那将会受到赞赏!!
根据要求,XML布局:
<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=".GameActivity"
tools:showIn="@layout/activity_game">
<GridLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
android:id="@+id/gridLayout">
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tile0"
android:layout_row="0"
android:layout_column="0" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tile1"
android:layout_row="0"
android:layout_column="1" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tile2"
android:layout_row="0"
android:layout_column="2" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tile3"
android:layout_row="0"
android:layout_column="3" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tile4"
android:layout_row="0"
android:layout_column="4" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tile5"
android:layout_row="0"
android:layout_column="5" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tile6"
android:layout_row="0"
android:layout_column="6" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tile7"
android:layout_row="0"
android:layout_column="7" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_row="1"
android:layout_column="0"
android:id="@+id/tile8" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tile9"
android:layout_row="1"
android:layout_column="1" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tile10"
android:layout_row="1"
android:layout_column="2" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tile11"
android:layout_row="1"
android:layout_column="3" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tile12"
android:layout_row="1"
android:layout_column="4" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tile13"
android:layout_row="1"
android:layout_column="5" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tile14"
android:layout_row="1"
android:layout_column="6" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tile15"
android:layout_row="1"
android:layout_column="7" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tile16"
android:layout_row="2"
android:layout_column="0" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tile17"
android:layout_row="2"
android:layout_column="1" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tile18"
android:layout_row="2"
android:layout_column="2" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tile19"
android:layout_row="2"
android:layout_column="3" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tile20"
android:layout_row="2"
android:layout_column="4" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tile21"
android:layout_row="2"
android:layout_column="5" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tile22"
android:layout_row="2"
android:layout_column="6" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tile23"
android:layout_row="2"
android:layout_column="7"
android:layout_below="@+id/gridLayout"
android:layout_alignStart="@+id/gridLayout" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tile24"
android:layout_row="3"
android:layout_column="0"
android:layout_below="@+id/tile23"
android:layout_alignLeft="@+id/gridLayout" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tile25"
android:layout_row="3"
android:layout_column="1"
android:layout_below="@+id/tile24"
android:layout_alignLeft="@+id/gridLayout" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tile26"
android:layout_row="3"
android:layout_column="2"
android:layout_alignBottom="@+id/tile25"
android:layout_toEndOf="@+id/tile25" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tile27"
android:layout_row="3"
android:layout_column="3"
android:layout_above="@+id/tile26"
android:layout_toRightOf="@+id/tile25" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tile28"
android:layout_row="3"
android:layout_column="4"
android:layout_above="@+id/tile27"
android:layout_toRightOf="@+id/tile25" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tile29"
android:layout_row="3"
android:layout_column="5"
android:layout_below="@+id/tile30"
android:layout_toRightOf="@+id/tile27" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tile30"
android:layout_row="3"
android:layout_column="6"
android:layout_alignTop="@+id/tile27"
android:layout_toEndOf="@+id/tile27" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tile31"
android:layout_row="3"
android:layout_column="7"
android:layout_above="@+id/tile27"
android:layout_toEndOf="@+id/tile27" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tile32"
android:layout_row="4"
android:layout_column="0"
android:layout_below="@+id/gridLayout"
android:layout_toEndOf="@+id/tile31" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tile33"
android:layout_row="4"
android:layout_column="1"
android:layout_above="@+id/tile29"
android:layout_toEndOf="@+id/tile29" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tile34"
android:layout_row="4"
android:layout_column="2"
android:layout_alignBottom="@+id/tile29"
android:layout_toEndOf="@+id/tile29" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tile35"
android:layout_row="4"
android:layout_column="3"
android:layout_alignTop="@+id/tile32"
android:layout_toEndOf="@+id/tile32" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tile36"
android:layout_row="4"
android:layout_column="4"
android:layout_alignBottom="@+id/tile33"
android:layout_toEndOf="@+id/tile33" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tile37"
android:layout_row="4"
android:layout_column="5"
android:layout_alignTop="@+id/tile34"
android:layout_toEndOf="@+id/tile34" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tile38"
android:layout_row="4"
android:layout_column="6"
android:layout_above="@+id/tile36"
android:layout_toEndOf="@+id/tile35" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tile39"
android:layout_row="4"
android:layout_column="7"
android:layout_above="@+id/tile36"
android:layout_toEndOf="@+id/tile38" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tile40"
android:layout_row="5"
android:layout_column="0"
android:layout_above="@+id/tile36"
android:layout_toEndOf="@+id/tile39" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tile41"
android:layout_row="5"
android:layout_column="1"
android:layout_above="@+id/tile37"
android:layout_toEndOf="@+id/tile36" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tile42"
android:layout_row="5"
android:layout_column="2"
android:layout_above="@+id/tile37"
android:layout_toEndOf="@+id/tile41" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tile43"
android:layout_row="5"
android:layout_column="3"
android:layout_above="@+id/tile37"
android:layout_toEndOf="@+id/tile42" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tile44"
android:layout_row="5"
android:layout_column="4"
android:layout_alignStart="@+id/tile41"
android:layout_alignBottom="@+id/tile37" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tile45"
android:layout_row="5"
android:layout_column="5"
android:layout_toEndOf="@+id/tile44"
android:layout_alignBottom="@+id/tile37" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tile46"
android:layout_row="5"
android:layout_column="6"
android:layout_above="@+id/gridLayout"
android:layout_alignStart="@+id/gridLayout" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tile47"
android:layout_row="5"
android:layout_column="7"
android:layout_alignTop="@+id/tile46"
android:layout_alignStart="@+id/tile28" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tile47"
android:layout_row="6"
android:layout_column="0"
android:layout_above="@+id/gridLayout"
android:layout_alignStart="@+id/tile31" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tile49"
android:layout_row="6"
android:layout_column="1"
android:layout_above="@+id/gridLayout"
android:layout_alignStart="@+id/tile32" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tile50"
android:layout_row="6"
android:layout_column="2"
android:layout_above="@+id/gridLayout"
android:layout_alignStart="@+id/tile35" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tile51"
android:layout_row="6"
android:layout_column="3"
android:layout_above="@+id/tile50" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tile52"
android:layout_row="6"
android:layout_column="4"
android:layout_below="@+id/tile51"
android:layout_toStartOf="@+id/tile39" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tile53"
android:layout_row="6"
android:layout_column="5"
android:layout_below="@+id/tile51" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tile54"
android:layout_row="6"
android:layout_column="6"
android:layout_above="@+id/tile46"
android:layout_toStartOf="@+id/tile47" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tile55"
android:layout_row="6"
android:layout_column="7"
android:layout_above="@+id/gridLayout"
android:layout_toEndOf="@+id/tile52" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tile56"
android:layout_row="7"
android:layout_column="0"
android:layout_alignTop="@+id/tile45"
android:layout_toEndOf="@+id/tile45" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tile57"
android:layout_row="7"
android:layout_column="1"
android:layout_above="@+id/tile47"
android:layout_alignStart="@+id/tile47" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tile58"
android:layout_row="7"
android:layout_column="2"
android:layout_above="@+id/tile49"
android:layout_alignStart="@+id/tile49" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tile59"
android:layout_row="7"
android:layout_column="3"
android:layout_above="@+id/tile50"
android:layout_alignStart="@+id/tile50" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tile60"
android:layout_row="7"
android:layout_column="4"
android:layout_alignBottom="@+id/tile59"
android:layout_alignStart="@+id/tile52" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tile61"
android:layout_row="7"
android:layout_column="5"
android:layout_above="@+id/tile52"
android:layout_toEndOf="@+id/tile52" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tile62"
android:layout_row="7"
android:layout_column="6"
android:layout_above="@+id/gridLayout"
android:layout_toEndOf="@+id/tile55" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tile63"
android:layout_row="7"
android:layout_column="7"
android:layout_above="@+id/tile55"
android:layout_toEndOf="@+id/tile55" />
</GridLayout>
答案 0 :(得分:0)
用户d3.js
在GridLayout
列中设置layout_columnWeight
。
layout_width="0dp"
如果您的API级别低于14,那么您可以使用<GridLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
android:id="@+id/gridLayout">
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:id="@+id/tile0"
android:layout_row="0"
android:layout_column="0"
android:layout_columnWeight="1" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:id="@+id/tile1"
android:layout_row="0"
android:layout_column="1"
android:layout_columnWeight="1" />
...
。