如何在相对布局中正确居中一组按钮?

时间:2016-09-27 22:32:07

标签: android android-layout center relativelayout

所以我有以下代码可以正常工作,但Android Studio抱怨使用嵌套的相对布局是多余的。我的问题是,做到这一点的正确方法是什么?

注意:我希望两个/所有按钮都作为一个整体居中。没有一个居中按钮与其他相关的按钮

<?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>

enter image description here

2 个答案:

答案 0 :(得分:2)

在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>

答案 1 :(得分:0)

您可以使用居中重力进行外部FrameLayout

或者,内部RelativeLayout可以是LinearLayout

或者,您的按钮周围可能只有一个RelativeLayout位于父级中心,但是包装内容而不是匹配父级布局高度。