3

有没有一种方法可以在 android 的操作栏的流菜单中显示图标和文本。
我的代码如下:

  <menu xmlns:android="http://schemas.android.com/apk/res/android" >

<item android:id="@+id/menu_share"
      android:title="share"
      android:showAsAction="always"
      android:actionProviderClass="android.widget.ShareActionProvider" />


 <item
    android:id="@+id/action_search"
    android:showAsAction="always|collapseActionView"
    android:icon="@drawable/ic_menu_search"
    android:title="Search"
    android:actionViewClass="android.widget.SearchView">  

   <item
    android:id="@+id/item_refresh"
    android:icon="@drawable/ic_menu_refresh"
    android:title="Refresh"
    android:showAsAction="ifRoom|withText"
    />

  <item
    android:id="@+id/item_save"
     android:icon="@drawable/ic_menu_save"
     android:title="Save"
     android:showAsAction="ifRoom|withText"

    ></item>
 </menu>

谁能帮我解决这个问题。我需要在显示在操作栏右上角的溢出中显示这两个图标和文本。


提前致谢

4

4 回答 4

1

据我了解,Action Overflow 只显示文本(android:title)。我一直在浏览一些应用程序,但它们都没有在 Action Overflow 内的项目上显示“图标+文本”。

于 2013-05-07T19:24:24.500 回答
0

尝试创建自定义溢出菜单:

<item
        android:id="@+id/action_overflow"
        android:icon="@drawable/overflow"
        android:showAsAction="always">
        <menu>
           <item android:id="@+id/menu_share"
          android:title="share"
          android:showAsAction="always"
          android:actionProviderClass="android.widget.ShareActionProvider" />
            <item
            android:id="@+id/action_search"
            android:showAsAction="always|collapseActionView"
            android:icon="@drawable/ic_menu_search"
            android:title="Search"
            android:actionViewClass="android.widget.SearchView">  
            <item
            android:id="@+id/item_refresh"
            android:icon="@drawable/ic_menu_refresh"
            android:title="Refresh"
            android:showAsAction="ifRoom|withText"
            />

            <item
            android:id="@+id/item_save"
            android:icon="@drawable/ic_menu_save"
            android:title="Save"
            android:showAsAction="ifRoom|withText"

            ></item>
        </menu>
    </item> 
于 2013-11-11T09:34:27.640 回答
0

AFAIK,这是不可能的。您可以做的是使用ListPopupWindow来完成此操作。我不得不使用自定义栏而不是ActionBar,因为它似乎不是很可自定义,并且我使用了PopupMenu但我还没有尝试放入图标。但ListPopupWindow也应该允许你。您可能必须使用自定义栏。可能以某种方式将其附加到oveflow按钮上,但我不确定这是否可能

注意ListPopupWindow需要 API >=11

于 2013-05-07T19:28:03.960 回答
0

您需要将 tools:context="your class" 添加到菜单标签

<?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"
   xmlns:tools="http://schemas.android.com/tools"
   tools:context=".activities.BaseActivity">


   <item
       android:id="@+id/action_notification1"
       android:icon="@drawable/three"
       android:title="action_notification"
       app:showAsAction="always">
       <menu>
           <item
               android:id="@+id/profile"
               android:icon="@drawable/profile"
               android:orderInCategory="100"
               android:title="PROFILE" />

           <item
               android:id="@+id/c"
               android:icon="@drawable/correct_tick"
               android:orderInCategory="100"
               android:title="COMPLETED TRIPS" />

           <item
               android:id="@+id/app"
               android:icon="@drawable/report_issue"
               android:orderInCategory="100"
               android:title="REPORT ISSUES" />
           <item
               android:id="@+id/r"
               android:icon="@drawable/correct_tick"
               android:orderInCategory="100"
               android:title="REACHED CENTER" />


           <item
               android:id="@+id/pdf"
               android:icon="@drawable/pdf_image"
               android:orderInCategory="100"
               android:title="BAG INFO" />
           <item
               android:id="@+id/l"
               android:icon="@drawable/logout"
               android:orderInCategory="100"
               android:title="LOGOUT" />
       </menu>
   </item>


</menu>



     @Override 
         public boolean onCreateOptionsMenu(Menu menu) {

         getMenuInflater().inflate(R.menu.main, menu); 
         menu.getItem(0).getSubMenu().getItem(3).setVisible(false);
         menu.getItem(0).getSubMenu().getItem(4).setVisible(true);
         return super.onCreateOptionsMenu(menu);

         } 

您应该将 tool:context 写入菜单标签,然后运行您将获得文本的图标

于 2016-03-23T10:24:36.070 回答