【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再回来更新.

时间: 2024-12-15 01:35:07

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

Android中ActionBar中显示overflow

//force to show overflow menu in actionbar for android 4.4 below     private void getOverflowMenu() {          try {             ViewConfiguration config = ViewConfiguration.get(this);             Field menuKeyField = ViewConfiguration.class.getDecla

Android中ActionBar及Overflow的显示

转自:http://www.sxt.cn/u/756/blog/4386 最近在按照Android的API文档学习Android中actionbar的使用,Action bar 最基本的形式,就是为 activity 显示标题,并且在标题左边显示一个 app icon.在这样简单的形式下,对于所有的 activity 来说,action bar 对告知用户他们当前所处的位置十分有用,并为你的 app 维护了持续的同一标识.Action Bar是一种新増的导航栏功能,在Android 3.0之后加

从U-Boot显示Logo到Android

/******************************************************************************* * 从U-Boot显示Logo到Android * 说明: * 从U-Boot一直显示Logo到Android桌面显示. * * 2017-9-27 深圳 龙华樟坑村 曾剑锋 *******************************************************************************/

在低于android 5.0的版本中ActionBar不显示

我从ABS切换到AppCompat与Material theme(仅适用于API21) 我的配置文件如下: <application android:theme="@style/AppStyle" <-- values folder --> <style name="AppStyle" parent="@style/AudioRecTheme"> <style name="AudioRecTheme&

Android中ActionBar的使用

ActionBar是一个显示在屏幕顶部的控件,它包括了在左边显示的应用的logo图标和右边操作菜单的可见项. ActionBar的基本操作 启用ActionBar Android3.0版本已经默认使用了ActionBar,因此只要在Mainifest.xml中配置的targetSdkVersion高于11(Android3.0),则默认会使用ActionBar. <uses-sdk android:minSdkVersion="14" android:targetSdkVersi

Android中ActionBar以及menu的代码设置样式

Android中ActionBar以及menu的代码样式如何设置?今天麦子学院android开发老师主要介绍Android中ActionBar以及menu的代码设置样式,,有需求的朋友可以参阅下 menu有些xml代码 http://schemas.android.com/apk/res/android"> <="" div=""> android:title="查找1" android:orderInCategory

[Android UI] ActionBar 自定义属性

actionbar 默认放在顶部, 如果在application或者activity中加入 android:uiOptions="splitActionBarWhenNarrow" 那么,actionbar将在底部显示. 自定义属性,包括自定义actionbar的背景颜色 <!-- the theme applied to the application or activity --> <style name="CustomActivityTheme&quo

Android 实现ActionBar定制

我们在使用Android手机时,常常发现应用中的ActionBar和我们平时使用的ActionBar相差很大.简单的说就是,其它应用的ActionBar为什么那么绚丽,自己应用的ActionBar就那么挫呢?近期有时间就细致研究了一下关于ActionBar的相关问题. 首先我们来看一下之前所说的"高大上"的ActionBar的效果图: 查阅了Android文档以及ActionBar的实现源代码.发现ActionBar是能够定制的(PS:Google还是想的很周到,不愧为大神级别的程序猿

Xamarin.Android之ActionBar与菜单

一.选项卡 如今很多应用都会使用碎片以便在同一个活动中能够显示多个不同的视图.在Android 3.0 以上的版本中,我们已经可以使用ActionBar提供的Tab来实现这种效果,而不需要我们自己去实现碎片的切换.ActionBar默认是不具备选项卡功能的,所以我们需要给一个属性赋上对应的枚举,比如下面的方式将开启选项卡. 1 ActionBar.NavigationMode = ActionBarNavigationMode.Tabs; 开启之后,我们就需要往ActionBar中添加Tab,当