gpt4 book ai didi

android - 为什么 ActionbarSharelock 即使有空间也只显示溢出图标

转载 作者:塔克拉玛干 更新时间:2023-11-02 18:52:34 25 4
gpt4 key购买 nike

即使页眉中有空间,我仍然坚持 ABS 中的菜单项可见性。事情是我在不同尺寸的设备上进行了测试,但在每种情况下我只能看到一个,那就是溢出菜单。

我正在使用 onPrepareOptionsMenu 来动态管理我的菜单并且工作正常。(但不知道这个问题可能是 onPrepareOptionsMenu 或其他一些发生的原因)。

查看差异: enter image description here enter image description here

第一种方法 我以编程方式创建菜单并使用 setShowAsAction() 设置可见性.我在某处找到了setShowAsActionflag()也,我也尝试过。但在那种情况下,我无法在 small screen 320*480 中看到 Overflow 菜单。所以,这是我在编程方法方面的问题。

这是我的代码

@Override
public boolean onPrepareOptionsMenu(Menu menu) {
// TODO Auto-generated method stu
// TO Remove older menu otherwise that will apped menu each time.
menu.clear();

menu.add(Menu.NONE, MENU_SEARCH, Menu.NONE, "Search").setIcon(R.drawable.ic_search).setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT);

menu.add(Menu.NONE, MENU_SETTING, Menu.NONE, "Settings").setIcon(R.drawable.ic_action_settings)
.setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT);

if (is_session_exist == 1) {
menu.add(Menu.NONE, MENU_CHANGE_LOGIN, Menu.NONE, "Change Login").setIcon(R.drawable.ic_action_add_person)
.setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT);

menu.add(Menu.NONE, MENU_LOGOUT, Menu.NONE, "Logout").setIcon(R.drawable.abs__ic_clear)
.setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT);


} else {
menu.add(Menu.NONE, MENU_LOGIN, Menu.NONE, "Login").setIcon(R.drawable.ic_action_add_person)
.setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
}
return super.onPrepareOptionsMenu(menu);
}

第二种方法 我使用 XML 文件夹创建菜单,并在单独的文件中设置所有属性。现在我在 onPrepareOptionsMenu 中调整该菜单,但在那种情况下,即使我设置了 android:showAsAction="ifRoom|withText"

这是我的 XML 代码。

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >

<item
android:id="@+id/mainMenu"
android:icon="@drawable/abs__ic_menu_moreoverflow_holo_dark"
android:showAsAction="always">
<menu>
<item
android:id="@+id/menu_search"
android:icon="@drawable/ic_search"
android:showAsAction="ifRoom|withText"
android:title="Search"
android:visible="true"/>
<item
android:id="@+id/menu_login"
android:icon="@drawable/ic_action_add_person"
android:showAsAction="ifRoom|withText"
android:title="Login"
android:visible="true"/>
<item
android:id="@+id/menu_change_login"
android:icon="@drawable/ic_action_add_person"
android:showAsAction="ifRoom|withText"
android:title="Change Login"
android:visible="false"/>
<item
android:id="@+id/menu_setting"
android:icon="@drawable/ic_action_settings"
android:showAsAction="ifRoom|withText"
android:title="Setting"
android:visible="true"/>
<item
android:id="@+id/menu_logout"
android:icon="@drawable/abs__ic_clear"
android:showAsAction="ifRoom|withText"
android:title="Logout"
android:visible="false"/>
</menu>
</item>

</menu>

我正在使用 setVisible(false/true);

更改 onPrepareOptionsMenu 中的菜单项

这里有一些有用的链接,我已经引用过了,但问题还没有解决。

Set android:showAsAction="ifRoom|withText" programmatically

How to add text to icons in ActionBar?

我不知道为什么会遇到这个问题。非常感谢您的帮助和努力。

谢谢。

最佳答案

我想,对于屏幕分辨率为 320*480 的设备,您不会看到溢出图标,而是单击设备的菜单按钮,您可以获得下图所示的其余菜单项:

enter image description here

关于android - 为什么 ActionbarSharelock 即使有空间也只显示溢出图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21331010/

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