Show Menu item always in support action bar

后端 未结 5 1822
自闭症患者
自闭症患者 2021-01-01 13:04

\"enterI am working on android application . I have implemented supported action bar in it .I

相关标签:
5条回答
  • 2021-01-01 13:15

    If you use the AppCompat ActionBar, you have to change your layout in this way:

    <menu xmlns:android="http://schemas.android.com/apk/res/android"
          xmlns:app="http://schemas.android.com/apk/res-auto" >
        <item
            android:id="@+id/action_settings"
            android:icon="@drawable/add_post"
            android:title="@string/action_settings"
            app:showAsAction="always" />
    </menu>  
    

    showAsAction attribute will work only with a custom prefixe, see the documentation. According to it:

    Notice that the showAsAction attribute above uses a custom namespace defined in the tag. This is necessary when using any XML attributes defined by the support library, because these attributes do not exist in the Android framework on older devices.

    Hope this helps.

    0 讨论(0)
  • 2021-01-01 13:24

    I realize this question is 2+ years old, but for completeness, if you want to set this in code use the following:

    menuItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
    

    other options are

    MenuItem.SHOW_AS_ACTION_NEVER
    MenuItem.SHOW_AS_ACTION_IF_ROOM
    MenuItem.SHOW_AS_ACTION_ALWAYS
    MenuItem.SHOW_AS_ACTION_WITH_TEXT
    MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW
    
    0 讨论(0)
  • 2021-01-01 13:29

    remove this line xmlns:app="http://schemas.android.com/apk/res-auto"

    use android:showAsAction="always" instead of app:showAsAction="always"

    <menu xmlns:android="http://schemas.android.com/apk/res/android" >
    
    <item
        android:id="@+id/action_refresh"
        android:icon="@drawable/ic_refresh"
        android:showAsAction="ifRoom"
        android:title="@string/action_refresh"/>
    
    <item
        android:id="@+id/action_filter"
        android:icon="@drawable/ic_filter"
        android:showAsAction="always"
        android:title="@string/action_filter"/>
    </menu>
    
    0 讨论(0)
  • 2021-01-01 13:30

    From docs you should add showAsAction attribute to always or ifRoom

    <menu xmlns:android="http://schemas.android.com/apk/res/android" >
        <!-- Search, should appear as action button -->
        <item android:id="@+id/action_search"
              android:icon="@drawable/ic_action_search"
              android:title="@string/action_search"
              android:showAsAction="ifRoom" />
        <!-- Settings, should always be in the overflow -->
        <item android:id="@+id/action_settings"
              android:title="@string/action_settings"
              android:showAsAction="never" />
    </menu>
    
    0 讨论(0)
  • 2021-01-01 13:31

    You can use the different values of android:showAsAction property in android menu xml file..

    to show all time visible menu on actionbar, you should go with android:showAsAction="always"..

    You can also use android:showAsAction="ifRoom" but it will show the menu in action bar not always but it will show according to different screen size.

    Edited

    Ref: Menu items doesn't show up on the actionbar

    Try with the below code then..

    <menu xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto" >
        <item
            android:id="@+id/menu_lang"
            app:showAsAction="always" <!-- app:showAsAction="ifRoom" -->
            android:title="@string/menu_lang"
            android:icon="@android:drawable/ic_input_lang"/>
    </menu>
    

    Hope it will help you..!!!

    0 讨论(0)
提交回复
热议问题