【问题标题】:Image Icon with Action Bar's Option Menu Item带有操作栏选项菜单项的图像图标
【发布时间】:2016-01-06 18:38:03
【问题描述】:

我想显示Action Bar 的带有图像图标的选项菜单项,就像我们在Navigation Drawer Bar 中使用的那样。

现在,我的应用程序选项菜单显示如下:
如何显示带有项目 1、项目 2 等的图像图标。

【问题讨论】:

标签: android android-actionbar optionmenu


【解决方案1】:

下面的代码解决了我的问题。从这个链接:How To show icons in Overflow menu in ActionBar

<item
    android:id="@+id/empty"
    android:icon="@drawable/ic_action_overflow"
    android:orderInCategory="101"
    android:showAsAction="always">
    <menu>
        <item
            android:id="@+id/action_show_ir_list"
            android:icon="@drawable/ic_menu_friendslist"
            android:showAsAction="always|withText"
            android:title="List"/>
    </menu>
</item>

【讨论】:

    【解决方案2】:

    这是您正在寻找的解决方案复制此菜单。xml 并根据您的需要在mipmap 中更改图标和名称

    <?xml version="1.0" encoding="utf-8"?>
    <menu xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto">
        <item
            android:id="@+id/main_menu"
            android:actionViewClass="android.widget.ImageButton"
            android:icon="@mipmap/menu"
            android:orderInCategory="200"
            android:title="@string/action_settings"
            app:showAsAction="always">
            <menu>
                <item
                    android:id="@+id/home"
                    android:icon="@mipmap/home_menu"
                    android:title="Home" />
                <item
                    android:id="@+id/edit_profile"
                    android:icon="@mipmap/my_account"
                    android:title="Profile" />
                <item
                    android:id="@+id/my_account"
                    android:icon="@mipmap/my_account"
                    android:title="My Account" />
                <item
                    android:id="@+id/messages"
                    android:icon="@mipmap/message1"
                    android:title="Messages" />
                <item
                    android:id="@+id/notification"
                    android:icon="@mipmap/notification"
                    android:title="Notifications" />
                <item
                    android:id="@+id/settings"
                    android:icon="@mipmap/settings"
                    android:title="Settings" />
                <item
                    android:id="@+id/logout"
                    android:icon="@mipmap/logout"
                    android:title="Logout" />
            </menu>
    
        </item>
    </menu>
    

    然后像这样创建menu_main.xml

    <menu xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        tools:context=".MainActivity">
        <item
            android:id="@+id/action_settings"
            android:orderInCategory="100"
            android:title="@string/action_settings"
            app:showAsAction="never" />
    </menu>
    

    【讨论】:

    • 那么我应该使用 menu.xmlmenu_main.xml 和 MenuInflater 吗?
    • 将 menu.xml 与菜单充气器一起使用
    【解决方案3】:

    类似于抽屉视图


    <?xml version="1.0" encoding="utf-8"?>
    

    <group android:checkableBehavior="single">
        <item
            android:id="@+id/navigation_item_attachment"
            android:checked="true"
            android:icon="@drawable/ic_attachment"
            android:title="@string/nav_item_attachment" />
        <item
            android:id="@+id/navigation_item_images"
            android:icon="@drawable/ic_image"
            android:title="@string/nav_item_images" />
        <item
            android:id="@+id/navigation_item_location"
            android:icon="@drawable/ic_place"
            android:title="@string/nav_item_location" />
    </group>
    
    <item android:title="@string/nav_sub_menu">
        <menu>
            <item
                android:icon="@drawable/ic_emoticon"
                android:title="@string/nav_sub_menu_item01" />
            <item
                android:icon="@drawable/ic_emoticon"
                android:title="@string/nav_sub_menu_item02" />
        </menu>
    </item>
    

    新菜单.xml


    <menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context="com.yadav.bookedup.MainActivity">
    
    <item
        android:id="@+id/action_search"
        android:title="@string/action_search"
        android:orderInCategory="200"
        android:icon="@drawable/abc_ic_search_api_mtrl_alpha"
        app:showAsAction="ifRoom|collapseActionView"
        />
    
    <item
        android:id="@+id/action_notf"
        android:title="Notification"
        android:orderInCategory="200"
        android:icon="@drawable/notf"
        app:showAsAction="ifRoom|collapseActionView"
        />
    
    
    <item
        android:id="@+id/action_info"
        android:orderInCategory="100"
        android:title="Info"
        app:showAsAction="never"
        android:icon="@drawable/ic_image" />
    
    <item
        android:id="@+id/req_clg"
        android:orderInCategory="100"
        android:title="Request College"
        app:showAsAction="never"
        android:icon="@drawable/ic_image" />
    <item
        android:id="@+id/req_book"
        android:orderInCategory="100"
        android:title="Request Books"
        app:showAsAction="never"
        android:icon="@drawable/ic_image" />
    <item
        android:id="@+id/share_app"
        android:orderInCategory="100"
        android:title="Share the app"
        app:showAsAction="never"
        android:icon="@drawable/ic_image" />
    <item
        android:id="@+id/rate_app"
        android:orderInCategory="100"
        android:title="Rate the App"
        app:showAsAction="never" />
    <item
        android:id="@+id/action_terms"
        android:orderInCategory="100"
        android:title="Terms &amp; Conditions"
        app:showAsAction="never" />
    
    <item
        android:id="@+id/action_about"
        android:orderInCategory="100"
        android:title="About Us"
        app:showAsAction="never" />
    <item
        android:id="@+id/action_contct"
        android:orderInCategory="100"
        android:title="Contact Us"
        app:showAsAction="never" />
    

    【讨论】:

    • 我看不到任何带文字的图像图标。
    • 您只能添加特定项目...我会更新我的答案
    猜你喜欢
    • 2012-06-14
    • 1970-01-01
    • 1970-01-01
    • 2014-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多