最近在开发app的时候需要用到NavigationDrawer,但是在添加动画(汉堡图标和箭头图标互转)效果的时候老是出现问题,折腾了好几个小时终于搞定。在这里跟大家分享一下。说明下,我开发时候用的minSdkVersion 是9,也就是本文所说的方法适用于APIlevel 2.3以上的情况,但若minsdk比较高的话会有略微的差异。
1.效果及依赖
NavigationDrawer是Material Design中推崇的一种控件,网易新闻、知乎都有在使用,先上效果图:
图中开启、关闭NavigationDrawer时左上角的动画是通过github上的一个第三方库实现的,详情请见:https://github.com/ikimuhendis/LDrawer
不过前段时间android官方的appcompat-v21包已经开始支持这种效果了。如果你用的是android studio,只需要在app module的build.gradle文件中添加
dependencies {
compile "com.android.support:appcompat-v7:21.0.+"
}
然后sync(同步)一下就可以使用appcompat包了。此外项目还依赖了support-v4的包,所以在请在dependencies中再加上这一句:
compile 'com.android.support:support-v4:22.0.0'
2.实现步骤
我们以一个MainActivity以及一个左侧拉出的NavigationDrawer为例说明。首先在layout文件夹下边定义一个toolbar.xml,定义Toolbar的样式。
toolbar.xml:
<?xml version="1.0" encoding=