是否可以使用 appcompat 库提供操作栏菜单?

2024-03-22

最近,我从常规操作栏实现切换到最近发布的 appcompat 实现。我的应用程序大量使用操作栏来提供功能。自从切换以来,在较旧的地点 API(少于 11 个)没有任何菜单项。较新的 API 可以,但它们不会像配置的那样显示图像(如果 room|withText)。有其他人经历过这种情况或提出任何解决方案吗?


当我使用 appcompat 库时,我发现了发生了什么。您可以像平常一样创建菜单。

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

但是,在菜单 xml 文件中,向菜单标记添加 xmlns:app 属性,如下所示:

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

然后,在每个菜单项中,通常指定“showAs”样式(ifRoom、withText 等),在常规菜单旁边包含此替代行:

app:showAsAction="ifRoom|withText"
android:showAsAction="ifRoom|withText"

此后,您的菜单将在当前和旧的 API 上正确显示。我从以下渠道获得此信息here http://antonioleiva.com/actionbarcompat-how-to-use/.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否可以使用 appcompat 库提供操作栏菜单? 的相关文章

随机推荐