我在这里阅读了不少条目,还有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完成了undo drawable,但是撤消按钮拒绝接受(在Nexus 4上测试,它有足够的空间用于至少几个图标...... )!
我目前的解决方案是使用带有imageButton和onClick的customView(这可行),但我想知道可能是什么问题。
答案 0 :(得分:1)
如果您没有使用AppCompatActivity
或其上构建的任何内容(例如Design Library),那么您不需要app:showAsAction
- 只需使用android:showAsAction
}。
如果您想忽略忽略AppCompat`时出现的lint错误,而是使用所有内容的框架版本(不推荐),则可以添加tools:ignore="AppCompatResource"
。