Android NavigationDrawer的使用

本文探讨了在使用新版本SDK构建Android Navigation Drawer项目时遇到的问题,特别是当项目依赖于较旧版本的appcompat库导致的不兼容情况。通过将appcompat库更新到与SDK版本兼容的版本(从v4更改为v7),解决了项目中的显示问题,并解释了不同版本之间的差异,最终实现了预期的动画效果。

一开始是冲这个效果去的

165053_1we1_346927.png


用新版本的SDK可以自动生成一个简单的NavigationDrawer项目

164555_6uN9_346927.png


但是由于SDK版本太新的问题,运行的效果不如人愿

165059_JJV1_346927.png

由于项目中用的appcompat版本是 com.android.support:appcompat-v7:22.0.0

IDE自动导入的却是v4的ActionBarDrawerToggle,所以会出现上面的三条杆居中的问题。

import android.support.v4.app.ActionBarDrawerToggle;


IDE中报出v4的ActionBarDrawerToggle已经过期,如图

111645_hCEk_346927.png


把v4改为v7就可以了
import android.support.v7.app.ActionBarDrawerToggle;

改成v7会报一个错误:

mDrawerToggle = new ActionBarDrawerToggle(
                getActivity(),                    /* host Activity */
                mDrawerLayout,                    /* DrawerLayout object */
                R.drawable.ic_drawer,             /* nav drawer image to replace 'Up' caret */
                R.string.navigation_drawer_open,  /* "open drawer" description for accessibility */
                R.string.navigation_drawer_close  /* "close drawer" description for accessibility */
        )

因为v7的构造函数没有传入图标了,删掉R.drawable.ic_drawer, 就可以了。这时候运行就可以发现,原来的R.drawable.ic_drawer变成了酷炫的动画——箭头与三条杆之间切换的动画。

如果一定要文章第一张图片的那种效果,是要把appcompat版本强行换为v4的?有空再继续折腾!



转载于:https://my.oschina.net/kevinvane/blog/416609

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值