Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了android – 为什么ActionbarSharelock只显示溢出图标,即使有空间大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
即使标题中有空间,我仍然坚持使用ABS中的菜单项可见性.事情是我在不同尺寸的设备测试,但在每种情况下,我只能看到一个,那就是溢出菜单.

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

查看差异:

第一种方法我已经以编程方式创建菜单,并使用setShowAsAction()设置该可见性.在某处我也找到了setShowAsActionflag(),我也试过了.但在这种情况下,我无法在小屏幕320 * 480中看到溢出菜单.所以,这是我在编程方法上的问题.

这是我的代码

@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,"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,"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,"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,"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@L_674_16@夹创建菜单,并将所有属性设置在单独的@L_674_16@中.现在我在onPrepareOptionsMenu中使用该菜单,但在这种情况下,我只能在任何密度屏幕上看到溢出图标,即使我已经设置了android:showAsAction =“ifRoom | withText”

这是我的XML代码.

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://scheR_455_11845@as.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@R_406_6964@="Search"
                android:visible="true"/>
            <item
                android:id="@+id/menu_login"
                android:icon="@drawable/ic_action_add_person"
                android:showAsAction="ifRoom|withText"
                android@R_406_6964@="Login"
                android:visible="true"/>
            <item
                android:id="@+id/menu_change_login"
                android:icon="@drawable/ic_action_add_person"
                android:showAsAction="ifRoom|withText"
                android@R_406_6964@="Change Login"
                android:visible="false"/>
            <item
                android:id="@+id/menu_setTing"
                android:icon="@drawable/ic_action_setTings"
                android:showAsAction="ifRoom|withText"
                android@R_406_6964@="SetTing"
                android:visible="true"/>
            <item
                android:id="@+id/menu_logout"
                android:icon="@drawable/abs__ic_clear"
                android:showAsAction="ifRoom|withText"
                android@R_406_6964@="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的设备,您不会获得溢出图标,而是单击设备的菜单按钮,您可以获得其余菜单项,如下图所示:

大佬总结

以上是大佬教程为你收集整理的android – 为什么ActionbarSharelock只显示溢出图标,即使有空间全部内容,希望文章能够帮你解决android – 为什么ActionbarSharelock只显示溢出图标,即使有空间所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。