Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.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
如何在android studio中将两列中的六个图像按钮与三行对齐?_Android_Layout - Fatal编程技术网

如何在android studio中将两列中的六个图像按钮与三行对齐?

如何在android studio中将两列中的六个图像按钮与三行对齐?,android,layout,Android,Layout,我是一个安卓noob,我正试图弄清楚布局是如何工作的。我还没弄清楚。我在android studio中有一个活动,我想在其中显示六个图像按钮,它们排列在3行的2列上。像这样: ___________________ | | | button 1 button 2 | | | | button 3 button 4 | | | | button 5 button 6 | |________

我是一个安卓noob,我正试图弄清楚布局是如何工作的。我还没弄清楚。我在android studio中有一个活动,我想在其中显示六个图像按钮,它们排列在3行的2列上。像这样:

 ___________________
|                   |
| button 1 button 2 |
|                   |
| button 3 button 4 |
|                   |
| button 5 button 6 |
|___________________|
我希望按钮和框架边缘之间的空间相同,以便按钮在整个屏幕上均匀显示。我尝试过使用网格布局,但按钮要么贴在屏幕的一侧,要么彼此相邻。完成这项工作的最佳方法是什么

到目前为止,我的xml:

<?xml version="1.0" encoding="utf-8"?>
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:columnCount="2"
    android:rowCount="6">

    <ImageButton
        android:layout_width="150dp"
        android:layout_height="150dp"
        android:id="@+id/button1"
        android:background="@drawable/image1" />

    <ImageButton
        android:layout_width="150dp"
        android:layout_height="150dp"
        android:text="New Button"
        android:id="@+id/button2"
        android:background="@drawable/image2"/>

    <ImageButton
        android:layout_width="150dp"
        android:layout_height="150dp"
        android:text="New Button"
        android:id="@+id/button3"
        android:background="@drawable/image3"/>

    <ImageButton
        android:layout_width="150dp"
        android:layout_height="150dp"
        android:text="New Button"
        android:id="@+id/button4"
        android:background="@drawable/image4"/>

     <ImageButton
        android:layout_width="150dp"
        android:layout_height="150dp"
        android:text="New Button"
        android:id="@+id/button5"
        android:background="@drawable/image5"/>

     <ImageButton
        android:layout_width="150dp"
        android:layout_height="150dp"
        android:text="New Button"
        android:id="@+id/button6"
        android:background="@drawable/image6"/>
</GridLayout>
问题2:

我给了图像150dp的宽度和高度,这样图像的尺寸就不会改变。如果我将其设置为类似match_parent的值,图像将扭曲为不等的宽度和高度。是否有任何方法可以使图像在没有设置高度和宽度的情况下正确缩放

android:layout\u gravity设置视图或布局的重力 在其父代中。 您可以将android:layout\u gravity=center添加到网格布局,它将使网格居中

android:gravity设置视图内容的重力 用于。 因此,您可以在GridLayout中添加类似android:gravity=center的内容,从而使其元素居中

对于不粘在一起的按钮,您可以为每个图像按钮f.e.添加填充

android:paddingBottom=6dp android:paddingLeft=6dp 安卓:paddingRight=6dp android:paddingTop=6dp

android:layout\u gravity设置视图或布局的重力 在其父代中。 您可以将android:layout\u gravity=center添加到网格布局,它将使网格居中

android:gravity设置视图内容的重力 用于。 因此,您可以在GridLayout中添加类似android:gravity=center的内容,从而使其元素居中

对于不粘在一起的按钮,您可以为每个图像按钮f.e.添加填充

android:paddingBottom=6dp android:paddingLeft=6dp 安卓:paddingRight=6dp
android:paddingTop=6dp

您可以使用权重:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:weightSum="3">

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:weightSum="2">

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="New Button"
            android:id="@+id/button"
            android:layout_weight="1"
            android:layout_gravity="center_vertical" />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="New Button"
            android:id="@+id/button2"
            android:layout_weight="1"
            android:layout_gravity="center_vertical" />
    </LinearLayout>

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:weightSum="2">

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="New Button"
            android:id="@+id/button3"
            android:layout_weight="1"
            android:layout_gravity="center_vertical" />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="New Button"
            android:id="@+id/button4"
            android:layout_weight="1"
            android:layout_gravity="center_vertical" />
    </LinearLayout>

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:weightSum="2">

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="New Button"
            android:id="@+id/button5"
            android:layout_weight="1"
            android:layout_gravity="center_vertical" />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="New Button"
            android:id="@+id/button6"
            android:layout_weight="1"
            android:layout_gravity="center_vertical" />
    </LinearLayout>
</LinearLayout>

随着权重的增加,按钮在视图中的位置相等,如果要在按钮之间添加一些空间,只需添加元素空间并为其指定权重即可。希望此帮助能帮助您使用重量:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:weightSum="3">

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:weightSum="2">

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="New Button"
            android:id="@+id/button"
            android:layout_weight="1"
            android:layout_gravity="center_vertical" />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="New Button"
            android:id="@+id/button2"
            android:layout_weight="1"
            android:layout_gravity="center_vertical" />
    </LinearLayout>

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:weightSum="2">

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="New Button"
            android:id="@+id/button3"
            android:layout_weight="1"
            android:layout_gravity="center_vertical" />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="New Button"
            android:id="@+id/button4"
            android:layout_weight="1"
            android:layout_gravity="center_vertical" />
    </LinearLayout>

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:weightSum="2">

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="New Button"
            android:id="@+id/button5"
            android:layout_weight="1"
            android:layout_gravity="center_vertical" />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="New Button"
            android:id="@+id/button6"
            android:layout_weight="1"
            android:layout_gravity="center_vertical" />
    </LinearLayout>
</LinearLayout>
随着权重的增加,按钮在视图中的位置相等,如果要在按钮之间添加一些空间,只需添加元素空间并为其指定权重即可。希望这有助于在ImageButton布局中设置android:layout\u gravity=right

在ImageButton布局中设置android:layout\u gravity=right


设置gridLayout的cloumwidth属性设置gridLayout的cloumwidth属性