LDrawer
Android drawer icon with material design animation.
Note
Basically same as appcompat_v7 version 21, you can use appcompat_v7
compile 'com.android.support:appcompat-v7:21.0.+'
<style name="AppTheme" parent="Theme.AppCompat.Light">
<item name="actionBarStyle">@style/ActionBar</item>
</style>
<style name="ActionBar" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="drawerArrowStyle">@style/AppTheme.DrawerArrowToggle</item>
</style>
<style name="AppTheme.DrawerArrowToggle" parent="Base.Widget.AppCompat.DrawerArrowToggle">
<item name="color">@android:color/white</item>
</style>
Download
via Maven:
<dependency>
<groupId>com.ikimuhendis</groupId>
<artifactId>ldrawer</artifactId>
<version>0.1</version>
</dependency>
or Gradle:
compile 'com.ikimuhendis:ldrawer:0.1'
Usage
You can use like using [normal drawer][2], instead of using android.support.v4.app.ActionBarDrawerToggle
use com.ikimuhendis.ldrawer.ActionBarDrawerToggle
First create drawerArrow
drawerArrow = new DrawerArrowDrawable(this) {
@Override
public boolean isLayoutRtl() {
return false;
}
};
Then create ActionBarDrawerToggle
mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout,
drawerArrow, R.string.drawer_open,
R.string.drawer_close) {
public void onDrawerClosed(View view) {
super.onDrawerClosed(view);
invalidateOptionsMenu();
}
public void onDrawerOpened(View drawerView) {
super.onDrawerOpened(drawerView);
invalidateOptionsMenu();
}
};
You can stop or start animation
mDrawerToggle.setAnimateEnabled(false);
You can set drawerArrow
progress or change color
drawerArrow.setProgress(0f); // normal position
drawerArrow.setProgress(1f); // back arrow position
drawerArrow.setColor(R.color.ldrawer_color); // to set color