Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在所有Android平台上对齐按钮?_Java_Android_Xml_Android Studio - Fatal编程技术网

Java 如何在所有Android平台上对齐按钮?

Java 如何在所有Android平台上对齐按钮?,java,android,xml,android-studio,Java,Android,Xml,Android Studio,我使用网格布局在屏幕上放置了一个8x8的按钮网格。由于我是Android新手,我不确定如何使它适合所有的按钮,因为它们应该适用于所有不同的Android手机 例如,当我在虚拟Nexus 6上安装了8x8网格时,按钮就非常适合。然而,在Nexus7上,屏幕左侧的行和边缘之间以及屏幕右侧的行和边缘之间有额外的空间。然后在Nexus4上,第7列和第8列按钮不在屏幕上 我相信你理解我想表达的观点,如果有人能帮助我理解,我将不胜感激 根据要求,XML布局: <RelativeLayout xmlns

我使用网格布局在屏幕上放置了一个8x8的按钮网格。由于我是Android新手,我不确定如何使它适合所有的按钮,因为它们应该适用于所有不同的Android手机

例如,当我在虚拟Nexus 6上安装了8x8网格时,按钮就非常适合。然而,在Nexus7上,屏幕左侧的行和边缘之间以及屏幕右侧的行和边缘之间有额外的空间。然后在Nexus4上,第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>


用户
GridLayout
在列中使用
layout\u columnWeight
并设置其
layout\u width=“0dp”


...

如果您的目标API级别低于14,那么您可以使用
android.support.v7.widget.GridLayout

发布您的布局xml。它相当长,因为有60多个按钮,但我会发布。代码已经发布。我在哪里添加“android.support.v7.widget.GridLayout”?也感谢您的快速回复。但是,当我添加代码时,按钮就消失了……添加
compile'com.android.support:gridlayout-v7:23.1.1'
到您的project elvel build.gradle
dependencies
部分。更改了
布局\u width=“match\u parent”
<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" />

 ...