33

我正在使用 AppCompat 将我的应用程序反向移植到 API7,并且操作栏出现问题。

当我使用FragmentActivity操作栏时,我的手机(API18)上会显示,但ActionBarActivity通过按下菜单按钮,它会显示为选项菜单。

在具有 API7 的模拟器上,操作栏始终显示为选项菜单。

有任何想法吗?

4

3 回答 3

70

为您的菜单项使用兼容名称空间,如下所示:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:compat="http://schemas.android.com/apk/res-auto" >
    <item android:id="@+id/action_whatever"
      android:icon="@drawable/ic_action_whatever"
      android:title="@string/whatever"
      compat:showAsAction="ifRoom"  />
</menu>
于 2013-08-29T11:59:22.660 回答
6

与指向此帖子的副本相关,尽管将 showAsAction 设置为always. 我设法通过使用Activity而不是扩展我的活动来强制它ActionBarActivity。根据这个答案,如果您不需要支持低于 11 的 api 级别,这是可以接受的。

...extends ActionBarActivity

扩展 ActionBarActivity

...extends Activity

在此处输入图像描述

于 2015-01-05T16:34:03.067 回答
0

我使用 Doogee Valencia Y100Pro 进行调试,菜单作为“三个小方块”不可见,但是当我用 扩展我的 MainActivity 时android.support.v7.app.ActionBarActivity,我会在操作栏中获得文本/图标菜单。下一个屏幕截图和 menu.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto">
    <item
        android:id="@+id/action_update"
        android:icon="@drawable/ic_refresh"
        android:title="@string/action_update"
        app:showAsAction="always"/>
    <item android:id="@+id/action_settings"
        android:title="@string/action_settings"
        app:showAsAction="ifRoom"/>
</menu>
于 2015-11-22T20:25:27.190 回答