如何在相对布局中正确居中一组按钮?
How to properly center a set of buttons inside a Relative Layout?
所以我有以下代码,它工作得很好,但是 Android Studio 抱怨说使用嵌套的相对布局是多余的。我的问题是,这样做的正确方法是什么?
注意:我希望 both/all 按钮作为一个整体居中。没有一个居中按钮与其他按钮相对
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:padding="5dp">
<Button
android:id="@+id/btnOpenRecyclerViewActivity"
style="@style/MainActivityButton"
android:text="Button 1" />
<Button
android:id="@+id/btnOpenNormalNotificationActivity"
style="@style/MainActivityButton"
android:text="Button 2"
android:layout_below="@id/btnOpenRecyclerViewActivity" />
</RelativeLayout>
</RelativeLayout>
您也许可以做一个外 FrameLayout
重心居中的动作。
或者,内部 RelativeLayout
可能是 LinearLayout
。
或者,也许只有一个 RelativeLayout
围绕在父级居中的按钮周围,但包裹内容而不是匹配父级布局高度。
在 RelativeLayout 上使用 gravity='center_vertical'。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:fitsSystemWindows="true">
<Button
android:id="@+id/btnOpenRecyclerViewActivity"
style="@style/MainActivityButton"
android:text="Button 1" />
<Button
android:id="@+id/btnOpenNormalNotificationActivity"
style="@style/MainActivityButton"
android:text="Button 2"
android:layout_below="@id/btnOpenRecyclerViewActivity"/>
</RelativeLayout>
所以我有以下代码,它工作得很好,但是 Android Studio 抱怨说使用嵌套的相对布局是多余的。我的问题是,这样做的正确方法是什么?
注意:我希望 both/all 按钮作为一个整体居中。没有一个居中按钮与其他按钮相对
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:padding="5dp">
<Button
android:id="@+id/btnOpenRecyclerViewActivity"
style="@style/MainActivityButton"
android:text="Button 1" />
<Button
android:id="@+id/btnOpenNormalNotificationActivity"
style="@style/MainActivityButton"
android:text="Button 2"
android:layout_below="@id/btnOpenRecyclerViewActivity" />
</RelativeLayout>
</RelativeLayout>
您也许可以做一个外 FrameLayout
重心居中的动作。
或者,内部 RelativeLayout
可能是 LinearLayout
。
或者,也许只有一个 RelativeLayout
围绕在父级居中的按钮周围,但包裹内容而不是匹配父级布局高度。
在 RelativeLayout 上使用 gravity='center_vertical'。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:fitsSystemWindows="true">
<Button
android:id="@+id/btnOpenRecyclerViewActivity"
style="@style/MainActivityButton"
android:text="Button 1" />
<Button
android:id="@+id/btnOpenNormalNotificationActivity"
style="@style/MainActivityButton"
android:text="Button 2"
android:layout_below="@id/btnOpenRecyclerViewActivity"/>
</RelativeLayout>