美文网首页
QQ6.0侧拉导航

QQ6.0侧拉导航

作者: 贝克街的猫大哥呀 | 来源:发表于2018-07-31 17:58 被阅读0次

  这个就是写一个自定义viewgroup,原理是继承自一个横向 scrollView,布局的时候,将主页和菜单页写在这个自定义控件的XML内部就行。 更具体的层级关系是,自定义控件--linealayout(水平)--菜单页、主页 。

这个效果的要点如下:

1.重写 onFinishInflate 方法,此方法会在XML被加载完毕的时候执行,执行在onMeause之前。主要是可以在此方里面,重新定义子控件的长宽。 下面的代码,就是重新指定了主页与菜单页的大小。

2.重写 onTouchEvent 方法, 是为了让滑到一半时松手,能自动滚到最有可能的方向。

3. 快速滑动的处理,这里用了一个 GestureDetector 类,用来拦截快捷滑动。

这里只是设置好了这个监听而以,最后还有把事件传给这个类,如果快速滑动,被拦截,就会执行内部的onFling方法,onFling中返回true,就表示此事件被消费,返回false,就继续走onTouchEvent事件就行了。

4. 比如说现在是 菜单页已经完全显示,  此时主页会有一点点在屏幕右边,单击那个区域,我们要滚回到主页,这里我们就需要让父viewgroup,就是这个自定义VIEW拦截事件了!  

  这里我们重写了onInterceptTouchEvent! 这里返回true时,子view就不会再有事件了。 并且会调用this的onTouchEvent方法,很多时候,我们还要在这里作一个兼容,让this的onTouchEvent也不执行,否则会出错。

5.滑动过程中什么透明变化、比例变化,当然就是在 onScrollChange中写喽,这里注意用到了 ViewCompat这个非常好用的类,可以直接控制VIEW的一些基本属性:

设置基地就是放大缩小比例的中心点!  最后一个setTraslationX 就是将X轴平移,很好理解嘛,作一些效果。

6.最后一个需求。 当向左滑时,主页的透明度会有一个灰色越来越明显。 如果是在布局里写一个view,增加其透明,这样就太麻烦了。这里的处理是,我们先将主页view在父布局中remove掉,将主页view与灰色view新加入到一个relativelayout中,再将relativelayout  add进父布局!

这里要注意的是,新new出的relativeLayout 要给他设置宽高,这个宽高就是原来那个removeView的控件的宽高,直接获取 mContetView的参数置入就行了!

相关文章

  • QQ6.0侧拉导航

    这个就是写一个自定义viewgroup,原理是继承自一个横向 scrollView,布局的时候,将主页和菜单页写...

  • 高仿QQ6.0之侧滑删除

    高仿QQ6.0之侧滑删除 前两天已经完成了高仿QQ6.0侧滑和优化,今天来看下侧滑删除的实现吧,如果有兴趣,可以去...

  • 仿QQ6.0侧滑之ViewDragHelper的使用(一)

    title : 仿QQ6.0侧滑之ViewDragHelper的使用(一) 相信大家也都是用QQ,自从QQ更新至6...

  • NewsSimple整体架构

    DrawerLayout 使用侧拉菜单作为导航DrawerLayout在android.support.v4.wi...

  • iOS 解决自定义导航栏不能侧滑返回

    iOS中,导航栏默认是可以侧滑,但是自定义导航之后,侧滑返回失效。 解决办法:在自定义导航栏中增加侧滑手势判断,代...

  • 侧滑导航

    前端入坑纪 15 好日子,要双更成双成对,倍有滋味 提前预祝天下的妈妈们,母亲节快乐! OK,first thin...

  • 【iOS】ViewController侧滑右拉返回失效的问题

    页面导航条的二级页面返回按钮设置为自定义按钮后,侧拉返回事件就会失效。 在导航控制器的rootVC添加如下代码可解...

  • 【iOS】隐藏导航栏侧拉时出现空白

    开发中,有时会遇到首页导航栏隐藏,二级页面需要显示导航栏的问题。 直接设置NavigationBar的hidden...

  • 仿QQ6.0主页面侧滑效果

    1.概述 最近一直都在带实习生做项目,发现自己好久没有写博客了,这几天更新会比较频繁,今天玩QQ的时候发现QQ主页...

  • 仿QQ6.0主页面侧滑效果

    1.概述 最近一直都在带实习生做项目,发现自己好久没有写博客了,这几天更新会比较频繁,今天玩QQ的时候发现QQ主页...

网友评论

      本文标题:QQ6.0侧拉导航

      本文链接:https://www.haomeiwen.com/subject/qswhvftx.html