actionlayout on menuitem does nothing

后端 未结 4 955
情书的邮戳
情书的邮戳 2020-11-30 03:09

i am setting an actionLayout on a menu item and setting background color and image, but it\'s not respected. in my activity, i have:

getMenuInflater().inflat         


        
相关标签:
4条回答
  • 2020-11-30 03:22

    Try app:actionLayout="@layout/check" instead of android:actionLayout="@layout/check".

    If you're using ActionbarSherlock or AppCompat, the android: namespace will not work for MenuItems. This is because these libraries use custom attributes that mimic the Android APIs since they did not exist in earlier versions of the framework.

    0 讨论(0)
  • 2020-11-30 03:32

    when using Appcompact ,menu item will be like

    <item android:id="@+id/cart"
        app:actionLayout="@layout/actionbar_cart"
        android:title="@string/action_cart"
        app:showAsAction="always"
     />
    

    0 讨论(0)
  • 2020-11-30 03:33

    The answer from Ben Harris is absolutely correct. However, in some case like when using attributes like:

          app:showAsAction="ifRoom|collapseActionView"
    

    used in SearchView (in my case), the layout view isn't shown and that caused a lot of headache to me. It seems that collapseActionView is not supported with action view in appcombat. So consider this as well while doing your stuffs.

    0 讨论(0)
  • 2020-11-30 03:38

    use app namespace instead of android and it will work fine.

    <menu xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto">
        <item android:id="@+id/action_submit"
            app:actionLayout="@layout/check"
            app:showAsAction="always"  />
    </menu>
    
    0 讨论(0)
提交回复
热议问题