您的位置:首页 > 移动开发 > Android开发

Android ActionBar上不显示icon的问题

2015-06-17 17:57 281 查看
 又是一个 support library的问题,最近被这个android.support.v4 和android.support.v7 折磨的要死要活的,很多东西因为版本的变动有好多的不同。由于我的项目用了 Fragment的v4 surpport包,所以在Activity继承ActionBarActivity的时候继承了v7的,不知道为什么操作栏上Item的图标就是不显示。查了查原因

StackOverFlow上的答案。

This is because if you use the support AppCompat ActionBar library and ActionBarActivity you should
create your menus in a different than the standard way of creating xml menus in ActioBarSherlock or the default ActionBar.

<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/action_search"
android:icon="@drawable/ic_action_search"
android:title="@string/action_search"
app:showAsAction="always"  />
<item android:id="@+id/action_compose"
android:icon="@drawable/ic_action_compose"
android:title="@string/action_compose"
app:showAsAction="always"/>
</menu>
添加了第二行:

xmlns:app="http://schemas.android.com/apk/res-auto"
并且把下行的Android:showAsAction="always"改成

app:showAsAction="always"
查了官方文档也弄的不是很明白,总之是解决了。

Android在解决版本兼容的问题上真的是很蛋疼。。。怎么说呢,最近总结的经验就是一定要Google,最好用英文查,百度一下午不如google几分钟解决问题 = =

顺带解决一下 不显示app icon 的问题,查的醉醉的,在activity 的 oncreate 方法加入:

ActionBar actionBar = getSupportActionBar();
actionBar.setLogo(R.drawable.ic_launcher);
actionBar.setDisplayUseLogoEnabled(true);
actionBar.setDisplayShowHomeEnabled(true);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android actionBar