gpt4 book ai didi

Android - 如何使用 ActionBarCompat 显示子菜单

转载 作者:行者123 更新时间:2023-11-30 04:12:49 27 4
gpt4 key购买 nike

我实现了 ActionBarCompat 以在不同的操作系统版本中拥有一个 ActionBar。
它隐藏在智能手机上,仅在平板电脑上显示。

我在这张截图中看到:http://developer.android.com/resources/samples/ActionBarCompat/index.html , Share 选项菜单在子菜单中显示了 Logout 选项,但是当我在平板电脑上编译并运行示例代码时, Logout 选项完全隐藏,没有任何选项可以将其显示为子菜单

然后我尝试做这样的事情:

<item        
android:icon="@android:drawable/ic_menu_delete"
android:orderInCategory="1"
android:showAsAction="always"
android:title="@string/menu_logout">
<menu>
<item
android:id="@+id/menu_logout"
android:title="@string/menu_logout"/>
</menu>
</item>

它确实看起来像我想要的那样 - 在平板电脑和智能手机上,它有一个不希望的效果 - 当点击注销选项菜单时,它会显示另一个上下文菜单,我相信这是因为嵌套菜单。

你们知道吗,在平板电脑上使用操作栏时如何显示子菜单,而在智能手机上只显示常规选项菜单?也许 ActionBarCompat 需要一些额外的配置?

最佳答案

我找到了解决方案。该解决方案包含 2 个单独的菜单资源文件,分别用于平板电脑和智能手机:menu_tablet.xml、menu_smartphone。

对于平板电脑,我显示一个子菜单:

<item        
android:icon="@android:drawable/ic_menu_delete"
android:orderInCategory="1"
android:showAsAction="always"
android:title="@string/menu_logout">
<menu>
<item
android:id="@+id/menu_logout"
android:title="@string/menu_logout"/>
</menu>
</item>

对于智能手机,我显示为常规选项菜单:

<item        
android:icon="@android:drawable/ic_menu_delete"
android:orderInCategory="1"
android:showAsAction="always"
android:id="@+id/menu_logout"
android:title="@string/menu_logout" />

然后在代码中我像这样扩充适当的菜单资源:

if(isTablet()){
menuInflater.inflate(R.menu.menu_tablet, menu);
}else{
menuInflater.inflate(R.menu.menu_smartphone, menu);
}

关于Android - 如何使用 ActionBarCompat 显示子菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10552950/

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