android - 带有应用程序 :showAsAction not showing 的项目

标签 android android-menu

我不明白为什么错误和不兼容(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/

相关文章:

java - 启动一个没有 UI 的 Activity 启动服务并完成,但不想中断当前正在运行的应用程序

android - 改变 ActionBar 的方向

android - 单击按钮在后台运行 android 应用程序

javascript - 尝试在 Android 应用程序中使用 google.maps.geocoder 时出现 'google is not defined' 错误

java - 当我将布局更改为不可见时如何修复 ClassNotFoundException

android - 使用字符串数组在搜索 View 中自动完成文本

android - 更改工具栏溢出菜单列表的高度

Android 从菜单布局中获取属性

java - 如何在android中创建底部菜单

android - Android 菜单中的复选框选项不起作用