balysv/material-menu

Padding is ignored

Closed this issue · 7 comments

Padding isn't applyed at all.

The icon with an scale of 1 is the needed for an standard ActionBar, but Android L guidelines have a larger ActionBar. So, when we're putting the icon in this larger ActionBar, some users fails to tap on the icon View, creating some bad sensations.

BTW, thanks for your work, Balys!

Is this in reference to MaterialMenuView? Or are you using the drawable in some other way?

Yes, we're using it in an XML layout, that we're putting to the ActionBar with setCustomView()

<com.balysv.materialmenu.MaterialMenuView
        android:id="@+id/action_bar_menu"
        android:layout_width="@dimen/gap_xxhigh"
        android:layout_height="@dimen/gap_xxhigh"
        android:layout_centerVertical="true"
        android:layout_marginLeft="@dimen/gap_medium"
        custom:mm_color="@android:color/white" />

The padding param of this View is ignored.

Alright, I'll have a look :)

Hi Balysv, Lord of the Library,

It seems that the last version makes the View crash...

I've updated build.gradle to work with 1.2.3 instead of 1.2.2, and this is the Exception it launch:

10-07 14:36:26.280    2279-2279/net.rocboronat.banana E/AndroidRuntime﹕ FATAL EXCEPTION: main
    java.lang.RuntimeException: Unable to start activity ComponentInfo{net.rocboronat.banana/net.rocboronat.app.listoffers.view.activity.phone.ListOffersActivity}: android.view.InflateException: Binary XML file line #9: Error inflating class com.balysv.materialmenu.MaterialMenuView
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
            at android.app.ActivityThread.access$1500(ActivityThread.java:117)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
            at android.os.Handler.dispatchMessage(Handler.java:99)
            at android.os.Looper.loop(Looper.java:130)
            at android.app.ActivityThread.main(ActivityThread.java:3683)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:507)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
            at dalvik.system.NativeStart.main(Native Method)
     Caused by: android.view.InflateException: Binary XML file line #9: Error inflating class com.balysv.materialmenu.MaterialMenuView
            at android.view.LayoutInflater.createView(LayoutInflater.java:518)
            at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:570)
            at android.view.LayoutInflater.rInflate(LayoutInflater.java:623)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:408)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:276)
            at net.rocboronat.app.listoffers.view.activity.phone.ListOffersActivity.initCustomActionBar(ListOffersActivity.java:234)
            at net.rocboronat.app.base.view.activity.BaseActivity.onCreate(BaseActivity.java:76)
            at net.rocboronat.app.base.view.activity.DrawerActivity.onCreate(DrawerActivity.java:45)
            at net.rocboronat.app.listoffers.view.activity.phone.ListOffersActivity.onCreate(ListOffersActivity.java:119)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
            at android.app.ActivityThread.access$1500(ActivityThread.java:117)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
            at android.os.Handler.dispatchMessage(Handler.java:99)
            at android.os.Looper.loop(Looper.java:130)
            at android.app.ActivityThread.main(ActivityThread.java:3683)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:507)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
            at dalvik.system.NativeStart.main(Native Method)
     Caused by: java.lang.reflect.InvocationTargetException
            at java.lang.reflect.Constructor.constructNative(Native Method)
            at java.lang.reflect.Constructor.newInstance(Constructor.java:415)
            at android.view.LayoutInflater.createView(LayoutInflater.java:505)
            at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:570)
            at android.view.LayoutInflater.rInflate(LayoutInflater.java:623)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:408)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:276)
            at net.rocboronat.app.listoffers.view.activity.phone.ListOffersActivity.initCustomActionBar(ListOffersActivity.java:234)
            at net.rocboronat.app.base.view.activity.BaseActivity.onCreate(BaseActivity.java:76)
            at net.rocboronat.app.base.view.activity.DrawerActivity.onCreate(DrawerActivity.java:45)
            at net.rocboronat.app.listoffers.view.activity.phone.ListOffersActivity.onCreate(ListOffersActivity.java:119)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
            at android.app.ActivityThread.access$1500(ActivityThread.java:117)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
            at android.os.Handler.dispatchMessage(Handler.java:99)
            at android.os.Looper.loop(Looper.java:130)
            at android.app.ActivityThread.main(ActivityThread.java:3683)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:507)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
            at dalvik.system.NativeStart.main(Native Method)
     Caused by: java.lang.NullPointerException
            at com.balysv.materialmenu.MaterialMenuView.adjustDrawablePadding(MaterialMenuView.java:191)
            at com.balysv.materialmenu.MaterialMenuView.setPadding(MaterialMenuView.java:104)
            at android.view.View.<init>(View.java:2174)
            at com.balysv.materialmenu.MaterialMenuView.<init>(MaterialMenuView.java:62)
            at com.balysv.materialmenu.MaterialMenuView.<init>(MaterialMenuView.java:58)
            at java.lang.reflect.Constructor.constructNative(Native Method)
            at java.lang.reflect.Constructor.newInstance(Constructor.java:415)
            at android.view.LayoutInflater.createView(LayoutInflater.java:505)
            at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:570)
            at android.view.LayoutInflater.rInflate(LayoutInflater.java:623)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:408)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:276)
            at net.rocboronat.app.listoffers.view.activity.phone.ListOffersActivity.initCustomActionBar(ListOffersActivity.java:234)
            at net.rocboronat.app.base.view.activity.BaseActivity.onCreate(BaseActivity.java:76)
            at net.rocboronat.app.base.view.activity.DrawerActivity.onCreate(DrawerActivity.java:45)
            at net.rocboronat.app.listoffers.view.activity.phone.ListOffersActivity.onCreate(ListOffersActivity.java:119)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
            at android.app.ActivityThread.access$1500(ActivityThread.java:117)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
            at android.os.Handler.dispatchMessage(Handler.java:99)
            at android.os.Looper.loop(Looper.java:130)
            at android.app.ActivityThread.main(ActivityThread.java:3683)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:507)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
            at dalvik.system.NativeStart.main(Native Method)

Thanks for your work :·)

Post what xml attributes you are using and I'll have a look :)
Actually, nevermind, I already know what's the issue

Silly mistake. Anyway, an update should be available at Central in a couple of hours

Of course!

<com.balysv.materialmenu.MaterialMenuView
        android:id="@+id/action_bar_menu"
        android:layout_width="@dimen/gap_xxhigh"
        android:layout_height="@dimen/gap_xxhigh"
        android:layout_gravity="center_vertical"
        android:layout_marginLeft="@dimen/gap_medium"
        custom:mm_color="@android:color/white"  />

Uh, we crossed messages. Thanks for the update! :·)