天天看点

DrawerLayout实现网易新闻抽屉效果

个人感觉网易的客户端比较前卫,有很多新鲜的东西,有时候模仿这些好的客户端能学到很多东西

开始今天的主要课题,下面是网易客户端抽屉模式实现的效果

DrawerLayout实现网易新闻抽屉效果
DrawerLayout实现网易新闻抽屉效果

其实有个drawerlayout这个布局,你得问题就已经解决掉一大半了,drawerlayout布局本身就提供了左划和右划的功能

先上代码,然后慢慢解答,看完这篇博客你就知道drawerlayout怎么用了

首先上逐步局文件代码

drawerlayout是androidv4包里自带的,既然是自带的那么直接拿来用就可以了,当然前提是你得工程里有v4包

下面解释上面的布局文件,让你懂得drawerlayout用法,首先drawerlayout支持左划和右划,那他是如何控制的呢?不居中告诉你,以上布局分为三部分,一般情况下,第一部分是主步局,第二部分是左划的布局,第三部分是右划的布局,其实这里的左向滑动和右向滑动是通过gravity控制,左划界面android:layout_gravity="left" 当然这里的left也可以用start代替,右划界面就理所当然的是android:layout_gravity="right" ,同样right也可以用end代替,其余的应该明白了吧!不懂留言,我认真为你解答

下面在贴一下主界面的代码,你看懂drawerlayout用法其余的就很简单了,妈妈再也不懂担心你的学习了

ok,就是这么简单啦!

csdn代码下载:http://download.csdn.net/detail/elinavampire/8195349

github代码下载:https://github.com/zimoguo/drawermode

................................................源码.....................................................................

首先看drawerlayout,他继承自viewgroup,这里主要看一下它里面的方法,方便以后使用

上面主要是监听事件的接口,通常回调的时候回用到它,里面的方法有四个,分别是ondrawerslide(view drawerview, float slideoffset);ondraweropened(view drawerview);ondrawerclosed(view

drawerview);ondrawerstatechanged(int newstate);

ondrawerslide(view drawerview, float slideoffset)抽屉改变时使用

ondraweropened(view drawerview);打开抽屉

ondrawerclosed(view drawerview)关闭抽屉

ondrawerstatechanged(int newstate);改变抽屉的状态

上面这个方法是为了设置用于左或右阴影的简单可拉伸。所提供的可拉伸必须有一个非零固有宽度。

设置用于该掩盖的主要内容,而抽屉打开网眼织物的颜色。

启用或禁用了所有的抽屉互动。

继续阅读