操作栏上缺少操作图标

Missing Action Icons on Action Bar

我在这里读了很多条目,还有 Android 文档:http://developer.android.com/guide/topics/ui/actionbar.html

我从 Android Studio 创建了一个新应用,将最小 SDK (21) 和目标 SDK (22) 设置为 Android 5(我不需要向后兼容性)。

这是我的 menu.xml:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <item android:id="@+id/undo"
          android:icon="@drawable/undo"
          android:title="@string/undo"
          app:showAsAction="always"
          />
    <item android:id="@+id/clear"
          android:title="@string/clear"/>
    ...
</menu>

这是我相当简单的 onCreate:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    paintView = (PaintView) findViewById(R.id.view);
    client = new GoogleApiClient.Builder(this).addApi(Wearable.API).build();
}

我已经尝试了 always 和 ifRoom,并确保为每个 DPI 完成撤消可绘制,但撤消按钮拒绝出现(在 Nexus 4 上测试,它有足够的 space 至少几个图标...)!

我目前的解决方案是使用带有 imageButton 和 onClick 的 customView(这可行),但我想知道可能是什么问题。

如果您不使用 AppCompatActivity 或基于它构建的任何东西(例如 Design Library),那么您不需要 app:showAsAction - 只需使用 android:showAsAction.

如果您想忽略伴随忽略 AppCompat` 而使用框架版本的所有内容(不推荐)带来的 lint 错误,您可以添加 tools:ignore="AppCompatResource"