新Android工具栏的子视图的重力属性行为不正确

时间:2014-10-31 16:29:33

标签: android toolbar android-appcompat

我正在尝试根据此草图在新的AppCompat库提供的新工具栏小部件中实现自定义布局

enter image description here

因此,我尝试在工具栏中添加新的布局组件,并将其重力属性设置为 bottom | center_horizo​​ntal 。但似乎这个属性完全无关紧要,我的子布局总是位于工具栏的垂直中心和汉堡图标的左侧。

enter image description here

我的XML布局如下所示:

<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="115dp"
    android:background="?attr/colorPrimary"
    app:titleTextAppearance="@style/title">

    <RelativeLayout
        android:layout_width="176dp"
        android:layout_height="59dp"
        android:background="?attr/colorPrimaryDark"
        android:gravity="bottom|center_horizontal">

    </RelativeLayout>

</android.support.v7.widget.Toolbar>


<android.support.v4.widget.DrawerLayout
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <FrameLayout
        android:id="@+id/container_main"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>

    <ListView
        android:id="@+id/drawer_menu"
        android:layout_width="264dp"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:background="@android:color/white"
        android:choiceMode="singleChoice"
        android:divider="?android:colorBackground"
        android:dividerHeight="1dp"/>

</android.support.v4.widget.DrawerLayout>

如何在工具栏中实现子视图的正确对齐?

1 个答案:

答案 0 :(得分:11)

编辑: android:gravity定义如何对齐视图的内部内容(文本对齐,子视图等),而不是对齐查看其父视图。

更改

android:gravity="bottom|center_horizontal" 

android:layout_gravity="bottom|center_horizontal"