gpt4 book ai didi

Android 4.3 菜单项 showAsAction ="always"被忽略

转载 作者:IT老高 更新时间:2023-10-28 13:01:38 26 4
gpt4 key购买 nike

我正在使用从 Android 4.3(API 级别 18)开始提供的新 v7 appcompat 库。

无论在 showAsAction 中为菜单项指定了什么,它都不会显示 - 它总是创建溢出菜单图标,甚至将单个菜单项放在菜单下。

尝试向这样的 Activity 添加菜单:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_sizes, menu);
return true;
}

这是我的菜单 xml:

<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/menu_add_size"
android:title="@string/menu_add_item"
android:orderInCategory="10"
android:showAsAction="always"
android:icon="@android:drawable/ic_menu_add" />
</menu>

这是新的支持库 v7 的错误,还是只是代码有问题?我之前已经多次使用 ActionBarSherlock 的类似代码。

最佳答案

您可能缺少必需的命名空间:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:[yourapp]="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/menu_add_size"
android:title="@string/menu_add_item"
android:orderInCategory="10"
[yourapp]:showAsAction="always"
android:icon="@android:drawable/ic_menu_add" />
</menu>

[yourapp] 替换为您的应用名称或您心中想要的任何命名空间。

其他值得检查的事情:

  • 查看您的 Activity 类是否扩展了 ActionBarActivity

检查问题是否仍然存在。


Android 引用文档:Adding Action Buttons .以下是相关文字:

If your app is using the Support Library for compatibility on versions as low as Android 2.1, the showAsAction attribute is not available from the android: namespace. Instead this attribute is provided by the Support Library and you must define your own XML namespace and use that namespace as the attribute prefix. (A custom XML namespace should be based on your app name, but it can be any name you want and is only accessible within the scope of the file in which you declare it.)

关于Android 4.3 菜单项 showAsAction ="always"被忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17914017/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com