我不明白为什么错误和不兼容(AndroidStudio 告诉我“应该将 app:showAsAction 与 appcompat 库一起使用)代码
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@+id/action_search"
android:title="@string/action_search"
android:icon="@drawable/search"
android:showAsAction="always" />
</menu>
工作完美,但适当且兼容的版本,如
<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:title="@string/action_search"
android:icon="@drawable/search"
app:showAsAction="always" />
</menu>
根本不显示我的图标。
我正在三星 GT P5210 (android v. 4.4.2) 和 Nexus 7 (4.4.4) 上进行测试
最佳答案
当你想使用操作栏时,你应该经常检查的事情是
1) 扩展 ActionBarActivity
而不是 Activity
公共(public)类 MainMenu 扩展 ActionBarActivity{
2) 选择 list 中定义的正确样式
list
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
风格
<style name="AppTheme"
parent="Theme.AppCompat.Light.DarkActionBar">
</style>
3) 为 showAsAction
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:**yourapp**="http://schemas.android.com/apk/res-auto" >
<item android:id="@+id/action_search"
android:icon="@drawable/ic_action_search"
android:title="@string/action_search"
**yourapp**:showAsAction="ifRoom" />
...
</menu>
这是大多数人都会犯的错误
4) 在Activity
Menu
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu items for use in the action bar
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main_activity_actions, menu);
return super.onCreateOptionsMenu(menu);
}
如果您执行以下所有操作,您的操作栏应该可以工作。
那么你应该为每个位置添加 onClickListener
...
关于android - 带有应用程序 :showAsAction not showing 的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26377305/