具有 Material 主题自定义 Logo 的 Android Lollipop 不像 DrawerToggle

标签 android android-5.0-lollipop material-design

Holo 主题中添加这个

 myActionBar.setDisplayHomeAsUpEnabled(true);

enter image description here

我可以在左上角看到应用程序 logo(在我的例子中是 mm_logo 见下文),这个 logo 充当抽屉切换按钮

Material 中未显示 Logo

enter image description here

但是如果我添加

myActionBar.setDisplayShowHomeEnabled(true);

应用程序图标显示在左上角(在我的例子中 ic_launcher 见下文)

 <application
            android:allowBackup="true"
            android:icon="@drawable/ic_launcher"
            android:logo="@drawable/mm_logo"
            android:label="@string/app_name"
            android:theme="@style/Theme.GreenAppTheme"
            android:largeHeap="true">

如果我添加这两行

myActionBar.setDisplayShowHomeEnabled(true);
myActionBar.setDisplayUseLogoEnabled(true);

Logo 也显示在 Material 中,但往往会填充左边距过高的按钮留下的空间,并且不像抽屉切换按钮(是简单的静态图像)。举个例子:

enter image description here

是否可以配置操作栏以在 Material Design 主题中显示 Logo mm_logo 以充当抽屉开关而不重新实现自定义 ActionBar 类?

注意:抽屉按钮在 material 中有效,我想要的是如果用户单击 Logo 时抽屉也会切换,而不仅仅是直接单击 3 行抽屉按钮

最佳答案

您可以使用新的支持库 v7 appcompat library

支持 v7 库的新 ActionBarDrawerToggle 已更新,其中包含菜单到箭头的动画。

我已经回答了一个熟悉的问题,其中我提到了如何使用支持库实现这个动画。

这是链接:How to implement DrawerArrowToggle from Android appcompat v7 21 library

关于具有 Material 主题自定义 Logo 的 Android Lollipop 不像 DrawerToggle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26442969/

相关文章:

android - Android L Preview 上 ActionBar 中的 ProgressBar

Android L 插入不需要的 Intent Extras

Android 布局主题样式

Javascript ES2015 导入抛出未捕获的语法错误 : Unexpected token {

android - ScrollView 使我的布局更小

android - 如何获取SeekBar progress drawable的高度

Android Studio 不渲染布局预览

java - Android,当我必须在线程中使用同步

android - 无法使用 SimpleXML 和 Retrofit 解析带有 CDATA block 的 xml

android - 如何在 TextInputLayout 的密码切换按钮上禁用涟漪效应