【发布时间】:2015-08-03 10:52:10
【问题描述】:
我正在开发一个遵循 Material Design 标准的 Android 应用,为了保持兼容性,我实现了一个自定义工具栏,如下所示:http://www.android4devs.com/2014/12/how-to-make-material-design-app.html,我的工具栏代码是
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
android:theme="@style/AppToolbar"
android:background="@color/primary"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?attr/actionBarSize"
android:elevation="4dp" >
然后我在 values/style 中覆盖 AppCompat 样式并指定主要和次要颜色以调整 ActionBar 布局。
<resources>
<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
<item name="android:colorPrimary">@color/primary</item>
<item name="android:colorPrimaryDark">@color/primary_dark</item>
<item name="android:textColor">@color/primary_text</item>
<item name="android:textColorPrimary">@color/accent</item>
<item name="android:textColorSecondary">@color/accent</item>
<item name="android:actionMenuTextColor">@color/accent</item>
<item name="android:itemTextAppearance">@style/menuAppearance</item>
<item name="android:editTextColor">@color/primary_text</item>
<item name="android:textColorHint">@color/secondary_text</item>
<item name="android:colorControlHighlight">@color/accent</item>
<item name="android:colorAccent">@color/accent</item>
</style>
<style name="menuAppearance" parent="@android:style/TextAppearance.Widget.IconMenu.Item">
<item name="android:textColor">@color/accent</item>
</style>
</resources>
工具栏 v21/样式资源:
<style name="AppToolbar" parent="android:Widget.Material.Toolbar">
<item name="android:background">@color/primary</item>
<item name="android:textColorPrimary">@color/accent</item>
</style>
我终于用setSupportActionBar(Toolbar toolbar)方法来设置Action Bar了。活动标题在 Manifest 中,而菜单项属性编码在各自的 xml 文件中。
我在三星 s3 mini(Android 版本:4.1.2)上试用了我的应用程序,它运行良好。标题和菜单图标在工具栏的垂直中心完美对齐,溢出菜单布局还可以。 然而,在安装 Lollipop (5.0) 的华硕 Zenfone2 ZE500CL 上移动时,我发现标题和溢出菜单文本布局混乱:它们被卡在工具栏和溢出菜单列表顶部,而其他菜单项,如 HomeIndicator 和总是-显示的保持垂直居中在工具栏中。
我在 Internet 上花了一天时间试图弄清楚这一点,但所有问题都与混乱的布局有关,可以通过为工具栏指定适当的高度来解决这些问题。很多人建议在工具栏中添加一个 TextView 来修复标题,我试过了,但我的问题更深了,因为溢出菜单项仍然是顶部对齐的。
我不能直接添加截图,所以我从 Google Drive 发布这张图片,希望它能让事情更清楚https://drive.google.com/file/d/0BzSgLr3IafUYUGhOS3BlYjY4UjA/view?usp=sharing 提前感谢您的帮助!
【问题讨论】:
标签: android android-layout toolbar material-design