支持工具栏标题/菜单垂直中心

时间:2016-01-01 02:15:14

标签: android android-toolbar

我是Android开发的新手,我正在使用ActionBar和Tabs开发应用。最近我切换到新的支持库Toolbar,但工具栏的标题(ActionBar)不是垂直居中,而是正确放置了操作按钮。 Title image

条形图中的第一个MenuItem也会出现同样的问题(它向上移动了一点)。 Menu image

我的活动扩展了AppCompatActivty,布局如下:

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout 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"
                                                 tools:context=".MainActivity">

    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <android.support.v7.widget.Toolbar
            android:id="@+id/action_bar_toolbar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:minHeight="?attr/actionBarSize"
            app:theme="@style/ActionBarTheme"/>

        <android.support.design.widget.TabLayout
            android:id="@+id/tabs"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@color/colorPrimary"
            app:tabGravity="fill"
            app:tabMaxWidth="0dp"
            app:tabMode="fixed"/>

        <com.myApp.app.views.widgets.ViewPager
            android:id="@+id/fragmentPager"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@android:color/white"/>
    </android.support.design.widget.AppBarLayout>
</android.support.design.widget.CoordinatorLayout>

和风格:

 <style name="ActionBarTheme" parent="Widget.AppCompat.Toolbar">
        <item name="android:textColorPrimary">@color/colorPrimaryDark</item>
        <item name="colorControlNormal">@color/colorPrimaryDark</item>
        <item name="android:background">@color/colorPrimary</item>
  </style>

有人可以帮我解决这个问题吗?我已经找到了解决方案,但一无所获。

P.S。正如我使用默认操作栏

时,它们被正确放置

1 个答案:

答案 0 :(得分:3)

您应该使用android:theme而不是app:theme

android:theme="@style/ActionBarTheme"

你的风格应来自动作栏叠加:

<style name="ActionBarTheme" parent="ThemeOverlay.AppCompat.Dark.ActionBar">
...
</style>

考虑直接使用ActionBar主题来开始隔离问题。