I need set custom style for toggle button https://github.com/mikepenz/MaterialDrawer/blob/fde00e5573310384b90d1f7f92d2b45c2ed8a2ba/library/src/main/res/layout/material_drawer_item_toggle.xml#L58 , but button is inside external library. How I can make it?
In my theme I add:
<item name="android:buttonStyleToggle">@drawable/btn_toggle</item>
And in btn_toggle.xml I add:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="false" android:drawable="@drawable/state_off" />
<item android:state_checked="true" android:drawable="@drawable/state_on" />
</selector>
But toggleButton became invisible.
The cleanest implementation to get custom behavior inside the MaterialDrawer library is to create your own Custom DrawerItem.
Take a quick look at the
DividerDrawerItem
which is one of the simplerDrawerItems
inside the project how you can do this.In your case you want to modify the ToggleDrawerItem. Just copy over the code and modify it to your needs.
A more advanced but simpler solution is to add an
onPostBindView
listener to the item you want to modify and use the reference to the view to search for thematerial_drawer_toggle
This will also allow your to modify and style this button as you need.