Android 安卓应用程序&x27;工具栏标题未垂直居中

Android 安卓应用程序&x27;工具栏标题未垂直居中,android,android-toolbar,android-styles,Android,Android Toolbar,Android Styles,我一直在关注如何创建应用程序工具栏。教程说,在遵循说明之后 “您的应用现在有一个基本的操作栏。默认情况下,操作栏 仅包含应用程序的名称和溢出菜单。“ 嗯,我的没有,看起来是这样的: 正如你从这张图片中看到的,我做了一些造型,以获得我想要的颜色,我添加了一个菜单项,只是为了看看它是否正确显示。稍后我将研究如何修复图标的颜色 我的问题是,正如你所看到的,应用程序标题没有垂直居中。它离顶端太近了。这让我很恼火,因为据我所知,它应该自动居中,我不知道为什么我的不居中,但我还是尝试使用样式来解决这个问题

我一直在关注如何创建应用程序工具栏。教程说,在遵循说明之后

“您的应用现在有一个基本的操作栏。默认情况下,操作栏 仅包含应用程序的名称和溢出菜单。“

嗯,我的没有,看起来是这样的:

正如你从这张图片中看到的,我做了一些造型,以获得我想要的颜色,我添加了一个菜单项,只是为了看看它是否正确显示。稍后我将研究如何修复图标的颜色

我的问题是,正如你所看到的,应用程序标题没有垂直居中。它离顶端太近了。这让我很恼火,因为据我所知,它应该自动居中,我不知道为什么我的不居中,但我还是尝试使用样式来解决这个问题,但绝对没有成功。似乎没有样式属性对工具栏标题的填充有任何影响。我可以在整个工具栏中添加填充,但这也会影响菜单项,我不希望这样

我的实现如下所示:

活动\u main.xml:

<?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:id="@+id/activity_main"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:fitsSystemWindows="true">
            <android.support.v7.widget.Toolbar
                android:id="@+id/main_activity_toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                style="@style/MyToolbarStyle"
                app:theme="@style/MyToolbarTheme" />
    </LinearLayout>
<resources>

<!-- Base application theme. -->
<style name="MyTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>

<style name="MyToolbarStyle" parent="Base.Widget.AppCompat.Toolbar">
    <item name="android:elevation">4dp</item>
    <item name="android:background">@color/colorPrimary</item>
</style>

<style name="MyToolbarTheme" parent="Base.Widget.AppCompat.Toolbar">
    <item name="android:textColorPrimary">#ffffff</item>
</style>

我无法从
Base.Widget.AppCompat.Toolbar
中找到问题的确切来源,但它改变了
工具栏的
重力。改为从meoverlay.AppCompat.Dark.ActionBar继承:

<style name="MyTheme.ToolbarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar">
    <item name="android:background">@color/colorPrimary</item>
    <item name="android:elevation">4dp</item>
</style>

@颜色/原色
4dp

他们在您提到的文档中使用了
ThemeOverlay.AppCompat.ActionBar
,但是
Dark
版本应该为您设置
textColorPrimary
属性。

我认为您缺少工具栏或外部布局上的
android:fitsystemwindows=“true”
您是否在任何地方设置了标题?换句话说,它可能是居中的,但整个工具栏都在状态栏后面,可能是@cricket_007的重复项。我缺少该设置,但即使现在我添加了它,问题仍然存在。我将用完整的activity_main.xml代码更新代码。
<style name="MyTheme.ToolbarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar">
    <item name="android:background">@color/colorPrimary</item>
    <item name="android:elevation">4dp</item>
</style>