Android MenuItem 的 showAsAction 获取方法

标签 android menuitem

我正在寻找 mentuItem.setShowAsAction() 的补充方法,即 menuItem.getShowAsAction(),因为似乎没有。

http://developer.android.com/reference/android/view/MenuItem.html

因为我需要在将它们设置为 MenuItem.SHOW_AS_ACTION_NEVER 之前记录当前状态,所以当设备的方向变回横向时,我可以将菜单项返回到它们的旧状态。

我需要这样做,因为 Honeycomb 没有像 ICS 那样提供新行来显示选项卡。所以在蜂窝中没有足够的空间给选项卡。

在 Java 或 Android 中是否有另一种通用的获取属性方法来在 XML 中查找 menuitem 中属性 showAsAction 的设置。

谢谢

最佳答案

你可以使用这个方法,从另一个答案中说的:

@SuppressLint("RestrictedApi")
private int getShowAsActionFlag(MenuItem item) {
    MenuItemImpl itemImpl = ((MenuItemImpl) item);
    if (itemImpl.requiresActionButton()) return MenuItemImpl.SHOW_AS_ACTION_ALWAYS;
    else if (itemImpl.requestsActionButton()) return MenuItemImpl.SHOW_AS_ACTION_IF_ROOM;
    else if (itemImpl.showsTextAsAction()) return MenuItemImpl.SHOW_AS_ACTION_WITH_TEXT;
    else return MenuItemImpl.SHOW_AS_ACTION_NEVER;
}

关于Android MenuItem 的 showAsAction 获取方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13714259/

相关文章:

android - 将数据从 Android 设备写入 Windows 文件夹

android - 如何为 Material 抽屉布局添加字幕?

c# - 更改c#中菜单项附近箭头的颜色

wpf - 如何设置以 TreeView 样式定义的 ContextMenu 的 DataContext

android - cocos2D-x中CC_REF_PTR_SAFE_RETAIN和CC_SAFE_RETAIN的区别

java - Android 4.4 WebView 文件选择器未打开?

带有图像和文本的 Android ImageButton

android - onRestoreInstanceState() 在预期时未被调用

java - 如何在 Java Swing 菜单栏中添加三个快捷键(Ctrl + Shift + C)?

menu - 在 JavaFX 中制作垂直菜单栏