Android 4.2.2中未显示的操作栏

Android 4.2.2中未显示的操作栏,android,android-actionbar,android-4.2-jelly-bean,Android,Android Actionbar,Android 4.2 Jelly Bean,解决方案:图像搜索图标有问题。Android没有找到用于搜索操作的图像,我没有在所有页面中添加它们 res文件夹,从那以后开始显示 我正在尝试将操作栏添加到应用程序中,我正在遵循中显示的基本应用程序教程 我已经编写了以下代码 main活动 res/menu/main\u activity\u actions.xml AndroidManifest.xml 但不是像这样的动作条 我有一个选项菜单。当我在运行应用程序时按下“菜单”按钮时显示 我在教程中遗漏了什么,或者代码中有错误吗

解决方案:图像搜索图标有问题。Android没有找到用于搜索操作的图像,我没有在所有页面中添加它们 res文件夹,从那以后开始显示

我正在尝试将操作栏添加到应用程序中,我正在遵循中显示的基本应用程序教程

我已经编写了以下代码

main活动

res/menu/main\u activity\u actions.xml


AndroidManifest.xml


但不是像这样的动作条

我有一个选项菜单。当我在运行应用程序时按下“菜单”按钮时显示

我在教程中遗漏了什么,或者代码中有错误吗?

编辑

在做了beworker问我的事情后,我得到了这个结果,仍然没有找到搜索框


您的代码或教程都没有问题。这一切都是关于模拟器的配置。您需要以这样的方式配置仿真器,即它具有软件按钮。切换到“设备定义”选项卡,编辑使用“软件”按钮的设备,如下图所示

或者,您可以简单地取消选中ADV configuration(见下图)中的“键盘/硬件键盘显示”属性,然后重新启动仿真器

如果存在硬件菜单按钮,Android 4.0模拟旧式菜单。这就是为什么所有的菜单动作都会出现在那里。若你们在emulator中禁用硬件菜单,那个么动作将按预期转到动作栏

请注意,在带有硬件菜单按钮(如三星G2、G3等)的手机上,菜单弹出窗口仍将出现,您无法在代码中更改此项。安卓将决定在每一台设备上,什么是更好的用户体验

更新

另一张纸条。如果使用兼容性库,请确保使用
xmlns:yourapp=”http://schemas.android.com/apk/res-auto“
您的应用程序:showAsAction=“always”
如下所述

但是,如果您的应用程序正在使用支持库以实现上的兼容性 低至Android 2.1的版本,showAsAction属性不可用 可从android:namespace获得。相反,此属性是 由支持库提供,您必须定义自己的XML 命名空间,并将该命名空间用作属性前缀


...
我在教程中遗漏了什么,或者代码中有错误吗?

是的,有区别。 尝试从项目中删除示例单词

实际上,您的项目名称占用了所有空间,并且在搜索菜单项中您已要求系统提供空间,前提是在您的情况下,有任何可用的房间/空间不是由于项目名称过长(可能是活动或其他原因)造成的

因此,要么将项目名称更改为较小的名称,要么像这样使用“始终”:

  <item android:id="@+id/action_search"
      android:icon="@drawable/ic_action_search"
      android:title="@string/action_search"
      android:showAsAction="always" />


试试我的……对你有用sure@mohit是的,我按照你的建议做了,屏幕截图也是在这些更改之后,我将其更改为
android:showAsAction=“always”
并将
strings.xml
中的appName编辑为
仍然没有搜索框。这是应用更新后的屏幕截图…实际上,这两个建议都包括了…再次选中仅使用我的选项。重置模拟器。我按照你说的做了。我确实获得了操作栏,但即使做了什么,搜索栏也丢失了@mohit在回答中建议。如果您需要搜索框,android:showAsAction=“always”对带有@+id/action\u搜索的项目将使“搜索”项目始终显示,然后你需要做更多的事情。搜索图标没有显示在操作栏第一张图片中显示的选项按钮旁边。我有
main\u activity\u actions.xml
文件。你扩展的ActionBarActivity是什么?你使用兼容库吗?
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
    <!-- Search, should appear as action button -->
    <item android:id="@+id/action_search"
          android:icon="@drawable/ic_action_search"
          android:title="@string/action_search"
          android:showAsAction="ifRoom" />
    <!-- Settings, should always be in the overflow -->
    <item android:id="@+id/action_settings"
          android:title="@string/action_settings"
          android:showAsAction="never" />
</menu>
<uses-sdk android:minSdkVersion="7"  android:targetSdkVersion="18" />

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name="com.sample.actionbarsample.MainActivity"
        android:label="@string/app_name" 
        android:theme="@style/Theme.AppCompat" 
        >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:yourapp="http://schemas.android.com/apk/res-auto" >
    <!-- Search, should appear as action button -->
    <item android:id="@+id/action_search"
          android:icon="@drawable/ic_action_search"
          android:title="@string/action_search"
          yourapp:showAsAction="always"  />
    ...
</menu>
  <item android:id="@+id/action_search"
      android:icon="@drawable/ic_action_search"
      android:title="@string/action_search"
      android:showAsAction="always" />