Android使用DrawerLayout仿QQ6.6版侧滑效果
程序员文章站
2022-03-08 13:17:15
一讲到侧滑菜单,我相信大家都会想到一个开源控件slidingmenu,在google还没有出来drawerlayout的时候几乎都是使用slidingmenu来实现侧滑效果...
一讲到侧滑菜单,我相信大家都会想到一个开源控件slidingmenu,在google还没有出来drawerlayout的时候几乎都是使用slidingmenu来实现侧滑效果,可以说是效果很不错,自从google出了drawerlayout以后很多公司就使用了drawerlayout比如 滴滴打车等等。那么今天我们利用drawerlayout来实现qq6.6最新的侧滑效果。首先来看看drawerlayout默认的效果:
和目前最新版的qq的侧滑还是不一样的区别就是内容页面没有跟随向右滑动,而是菜单直接覆盖在内容上,来看一张qq的样式图
这样大家可以看到区别了,其实我们只要在滑动左面菜单的时候让内容页面跟随滑动就行了,首先我们看看drawerlayout有没有给我们监听滑动的监听,哈哈,翻了一下源码我们找到了这个方法 ondrawersize方法;只要实现setdrawerlistener回调就行了代码如下:
drawer.setdrawerlistener(new drawerlayout.drawerlistener() { @override public void ondrawerslide(view drawerview, float slideoffset) { //获取屏幕的宽高 windowmanager manager = (windowmanager) getsystemservice(context.window_service); display display = manager.getdefaultdisplay(); //设置右面的布局位置 根据左面菜单的right作为右面布局的left 左面的right+屏幕的宽度(或者right的宽度这里是相等的)为右面布局的right right.layout(left.getright(), 0, left.getright() + display.getwidth(), display.getheight()); } @override public void ondraweropened(view drawerview) { } @override public void ondrawerclosed(view drawerview) { } @override public void ondrawerstatechanged(int newstate) { } });
然后在看看我们改变的效果吧:
是不是有那么点意思了呢,哈哈,今天就开到这里了。
最后附上源码:https://github.com/dalong982242260/drawlayoutmenu
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: Vue动态路由的实现(后台传递路由,前端拿到并生成侧边栏)
下一篇: pre是html5新增的标签吗
推荐阅读
-
Android Drawerlayout实现侧滑菜单效果
-
Android使用DrawerLayout实现侧滑菜单效果
-
Android中DrawerLayout实现侧滑菜单效果
-
学习使用Material Design控件(二)使用DrawerLayout实现侧滑菜单栏效果
-
Android实现3种侧滑效果(仿qq侧滑、抽屉侧滑、普通侧滑)
-
Android使用DrawerLayout实现双向侧滑菜单
-
Android原生侧滑控件DrawerLayout使用方法详解
-
Android_UI 仿QQ侧滑菜单效果的实现
-
Android使用ToolBar+DrawerLayout+NavigationView实现侧滑抽屉效果
-
学习使用Material Design控件(二)使用DrawerLayout实现侧滑菜单栏效果