作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试通过这种方式创建一些菜单项:
main_activity_actions.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/item_add"
android:icon="@drawable/ic_action_add"
android:orderInCategory="1"
android:title="@string/action_add"
android:showAsAction="always" />
<item
android:id="@+id/item_settings"
android:orderInCategory="2"
android:title="@string/action_settings"
android:showAsAction="never" />
<item
android:id="@+id/item_about"
android:orderInCategory="3"
android:title="@string/action_about"
android:showAsAction="never" />
</menu>
MainActivity.java
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main_activity_actions, menu);
return super.onCreateOptionsMenu(menu);
}
我无法在顶部菜单栏上呈现这些项目。请问我该如何使它工作?
提前致谢!
最佳答案
我想通了。使用 android 支持库 v7 appcompat,您必须使用特定的命名空间才能正确使用属性 showAsAction
。以下是您需要对 xml 文件执行的操作:
像这样将您的自定义命名空间声明添加到文件中:
xmlns:app="http://schemas.android.com/apk/res-auto"
然后不使用 android:showAsAction
,而是使用 app:showAsAction
。
这将允许显示菜单项。
这是结果文件代码:
<?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/item_add"
android:icon="@drawable/ic_action_add"
android:orderInCategory="1"
android:title="@string/action_add"
app:showAsAction="always" />
<item
android:id="@+id/item_settings"
android:orderInCategory="2"
android:title="@string/action_settings"
app:showAsAction="never" />
<item
android:id="@+id/item_about"
android:orderInCategory="3"
android:title="@string/action_about"
app:showAsAction="never" />
</menu>
希望对你有所帮助。
关于java - 如何正确显示菜单项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25754746/
我是一名优秀的程序员,十分优秀!