Выровнять кнопки как сетку в Android Studio - PullRequest
0 голосов
/ 26 сентября 2019

Я делаю приложение для Android Studio и хочу отображать кнопки рядом с тремя столбцами в строке.Мне удалось добиться этого в первом ряду, но во втором ряду все перепутано ... вот что я ищу:

enter image description here

эточто я пробовал:

<ScrollView
    android:id="@+id/scrollablContent"
    android:layout_width="match_parent"
    android:layout_height="fill_parent"
    android:layout_weight="1">


    <RelativeLayout
        android:id="@+id/relativeLayout1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content">


        <Button
            android:id="@+id/englishstatus"
            android:layout_width="120dp"
            android:layout_height="120dp"
            android:text="Download Code"
            android:textSize="20sp"
            android:padding="15dp"
            android:textStyle="bold|italic"
            android:layout_alignParentLeft="true"
            android:layout_marginLeft="1dp"
            android:background="@drawable/bg" />

        <Button
            android:id="@+id/linestatus"
            android:layout_toRightOf="@id/englishstatus"
            android:layout_width="120dp"
            android:layout_height="120dp"
            android:text="Download Code"
            android:layout_centerInParent="true"
            android:background="@drawable/bg" />

        <Button
            android:id="@+id/attitude"
            android:layout_width="120dp"
            android:layout_height="120dp"
            android:text="Download Code"
            android:layout_alignParentRight="true"
            android:layout_marginRight="1dp"
            android:background="@drawable/bg" />

я получаю это в качестве вывода enter image description here

Ответы [ 4 ]

2 голосов
/ 26 сентября 2019

Существует несколько способов удовлетворить ваши требования

Первое использование линейного макета

    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:orientation="vertical">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:padding="10dp">

        <ImageView
            android:layout_width="0dp"
            android:layout_height="50dp"
            android:layout_weight="1"
            android:contentDescription="@string/app_name"
            android:src="@drawable/ic_launcher_background" />

        <ImageView
            android:layout_width="0dp"
            android:layout_height="50dp"
            android:layout_weight="1"
            android:contentDescription="@string/app_name"
            android:src="@drawable/ic_launcher_background" />

        <ImageView
            android:layout_width="0dp"
            android:layout_height="50dp"
            android:layout_weight="1"
            android:contentDescription="@string/app_name"
            android:src="@drawable/ic_launcher_background" />

    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:padding="10dp">

        <ImageView
            android:layout_width="0dp"
            android:layout_height="50dp"
            android:layout_weight="1"
            android:contentDescription="@string/app_name"
            android:src="@drawable/ic_launcher_background" />

        <ImageView
            android:layout_width="0dp"
            android:layout_height="50dp"
            android:layout_weight="1"
            android:contentDescription="@string/app_name"
            android:src="@drawable/ic_launcher_background" />

        <ImageView
            android:layout_width="0dp"
            android:layout_height="50dp"
            android:layout_weight="1"
            android:contentDescription="@string/app_name"
            android:src="@drawable/ic_launcher_background" />

    </LinearLayout>

</LinearLayout>

ВЫХОД

enter image description here

Второй способ

Вы можете использовать RecyclerView с GridLayoutManager

GridLayoutManager  gridLayoutManager = new GridLayoutManager(YourActivity.this, 3);
recyclerView.setLayoutManager(gridLayoutManager);

Проверить этоартикул для RecyclerView с GridLayoutManager

Третий способ использования GridView

Проверитьэта статья для Android Grid View

0 голосов
/ 26 сентября 2019

Вы можете использовать TableLayout и добавлять кнопки в строки и столбцы.Проверьте эту ссылку .

0 голосов
/ 26 сентября 2019

По моему мнению, вам лучше предоставить полный код макета.

Кстати, в этой ситуации лучше использовать RecyclerView и GridLayoutManager.

0 голосов
/ 26 сентября 2019

Вы должны использовать Recyclerview с SquareRelativeLayout в качестве элемента, пожалуйста, проверьте эту ссылку

...