【Android】关于ActionBar无法显示logo的问题

不知道大家有没有看过Google官方给出的培训教程,昨天我在看ActionBar这一节的时候,有一个问题一直困扰着我.这篇guide的链接我放在下面先.大家可以去看看,多看文档绝对收获多多.

http://developer.android.com/guide/topics/ui/actionbar.html


其中有一段话,我截取下来跟大家一起看一下

技术分享

我这个小菜鸟就献个丑,翻译一下,翻译的不好的话,可不要打我啊.


使用logo来替换icon

默认情况下,系统会在<application>或者<activity>标签中通过android:icon属性把你应用的图标显示在action bar上,可是,我们也可以通过android:logo属性来指定其他的图标进行显示.


一个logo通常应该比icon要宽一点,但不应该包含不必要的文字.合理的使用情景是,这个logo应该被你的用户所熟知,并且它就代表着你这个品牌的标志.YouTube的手机客户端就是一个好的例子--logo代表着用户预期的标志,而应用的icon是一个为了迎合应用启动图标方形的形状要求的修改版本.


所以好奇的我就马上在Android Studio上新建了一个项目,试一试这个特性,然后悲伤地事情就来了.这么改竟然没用,这个logo死活就是不出来.于是我Google了一下,发现了一个让它出现的办法,不过稍微麻烦一点.需要在OnCreate()方法里加上几句话.(强调一下项目里面的Activity父类是ActionBarActivity,如果父类是Activity的话就没有这种问题).


    ActionBar actionBar = getSupportActionBar();
    actionbar.setDisplayShowHomeEnabled(true);
    actionBar.setLogo(R.drawable.ic_action_refresh);
    actionBar.setDisplayUseLogoEnabled(true);


这样就会出现logo了,像下面这样.

技术分享


这是目前我知道的能解决问题的唯一办法.我还看见一种说法就是,在最新的更新中Google说过,已经推荐用兼容包里的ToolBar替换掉原来的ActionBar,母亲啊我还是不太懂,等我看明白了最新的API再回来更新.

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。