操作栏不显示动作视图图标 [英] Action Bar not showing action view icons
问题描述
我使用的是新的操作栏的支持,我的一切行动的意见显示在溢出而不是在酒吧的图标。我的应用程序是7 + API。
I'm using the new Action Bar Support and all my action views are shown in overflow and not as icons in the bar. My app is for 7+ API.
HomeActivity:
HomeActivity:
public class HomeActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
ActionBar actionBar = getSupportActionBar();
actionBar.setTitle(R.string.app_name);
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setHomeButtonEnabled(true);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.home, menu);
return true;
}
}
home.xml
home.xml
<item
android:id="@+id/action_settings"
android:orderInCategory="100"
android:showAsAction="never"
android:title="@string/action_settings"/>
<item
android:id="@+id/action_browse"
android:orderInCategory="100"
android:showAsAction="never"
android:title="@string/title_activity_browse"/>
<item
android:id="@+id/action_search"
android:actionViewClass="android.widget.SearchView"
android:icon="@android:drawable/ic_menu_search"
android:showAsAction="ifRoom|collapseActionView"
android:title="@string/text_search"/>
<item
android:id="@+id/action_scan"
android:icon="@drawable/action_scan"
android:showAsAction="always"
android:title="@string/title_activity_browse"/>
我部署在Nexus 7与4.3和LGP500与2.3.3和没有图标。我还添加机器人:在清单主题=@风格/ Theme.AppCompat.Light.DarkActionBar和我的项目是正确引用Android的支持-V7-appcompat在官方文档中描述
I'm deploying on Nexus 7 with 4.3 and on LGP500 with 2.3.3 and no icons. I've also added android:theme="@style/Theme.AppCompat.Light.DarkActionBar" on the manifest and my project is correctly referencing android-support-v7-appcompat as described in the official doc.
推荐答案
你必须定义你的菜单
资源文件,也支持库的属性。
you have to define your menu
resource files with also the attributes for the support library.
要实现它读取老年Android版本中定义的,而不是他们的背部支撑。
To implement the back support it reads them instead of the ones defined in older Android version.
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:yourapp="http://schemas.android.com/apk/res-auto" >
<item
android:id="@+id/action_settings"
android:orderInCategory="100"
android:showAsAction="never"
yourapp:showAsAction="never"
android:title="@string/action_settings"/>
<item
android:id="@+id/action_browse"
android:orderInCategory="100"
android:showAsAction="never"
yourapp:showAsAction="never"
android:title="@string/title_activity_browse"/>
<item
android:id="@+id/action_search"
android:actionViewClass="android.support.v7.widget.SearchView"
android:icon="@android:drawable/ic_menu_search"
android:showAsAction="ifRoom|collapseActionView"
yourapp:showAsAction="ifRoom|collapseActionView"
yourapp:actionViewClass="android.support.v7.widget.SearchView"
android:title="@string/text_search"/>
<item
android:id="@+id/action_scan"
android:icon="@drawable/action_scan"
android:showAsAction="always"
yourapp:showAsAction="always"
android:title="@string/title_activity_browse"/>
</menu>
NB 这的记住了的SearchView类改为。它现在使用的支持库之一,所以你也必须为在onCreateOptionsMenu()更新code
NB remeber that for the SearchView class changed. it's now used the one from the support library so you also have to update your code in the onCreateOptionsMenu()
编辑: 这里是如何从ActionBarSherlok迁移到AppCompat一个pretty的很好的教程
here is a pretty good tutorial on how to migrate from ActionBarSherlok to AppCompat
这篇关于操作栏不显示动作视图图标的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!