2016-09-27 59 views
1

所以我有下面的代码,它可以很好地工作,但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

+0

你内在的RelativeLayout是无用的 –

回答

2

使用gravity ='center_vertical'放在RelativeLayout的上面。

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

中心按钮,你也许可以做一个外FrameLayout与中心重力。

或者,内部RelativeLayout可能是LinearLayout

或者,也许只是一个RelativeLayout围绕您的按钮居中在父,但包装内容而不是匹配父布局高度。