在 Android Studio 中将按钮对齐为网格布局
Align Buttons as a Grid Layout in Android Studio
我正在使用 Android Studio 制作一个应用程序,我想并排显示按钮,每行三列。我设法在第一行实现了这一点,但第二行都搞砸了。这就是我要找的:
这是我试过的:
<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" />
我得到这个作为输出
你必须使用 Recyclerview 和 SquareRelativeLayout 作为项目,请检查这个 link
有多种方法可以满足您的要求
First using Linear layout
<?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>
输出
Second way
您可以将 RecyclerView
与 GridLayoutManager
一起使用
GridLayoutManager gridLayoutManager = new GridLayoutManager(YourActivity.this, 3);
recyclerView.setLayoutManager(gridLayoutManager);
查看这篇文章
Third way you can use a GridView
查看这篇文章 Android Grid View
在我看来,你最好提供完整的布局代码。
顺便说一句,在这种情况下最好使用 RecyclerView 和 GridLayoutManager。
您可以使用 TableLayout 并向行和列添加按钮。检查这个 link.
我正在使用 Android Studio 制作一个应用程序,我想并排显示按钮,每行三列。我设法在第一行实现了这一点,但第二行都搞砸了。这就是我要找的:
这是我试过的:
<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" />
我得到这个作为输出
你必须使用 Recyclerview 和 SquareRelativeLayout 作为项目,请检查这个 link
有多种方法可以满足您的要求
First using Linear layout
<?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>
输出
Second way
您可以将 RecyclerView
与 GridLayoutManager
一起使用
GridLayoutManager gridLayoutManager = new GridLayoutManager(YourActivity.this, 3);
recyclerView.setLayoutManager(gridLayoutManager);
查看这篇文章
Third way you can use a
GridView
查看这篇文章 Android Grid View
在我看来,你最好提供完整的布局代码。
顺便说一句,在这种情况下最好使用 RecyclerView 和 GridLayoutManager。
您可以使用 TableLayout 并向行和列添加按钮。检查这个 link.