论坛首页 移动开发技术论坛

Android两侧推出导航菜单的实现

浏览 16952 次
精华帖 (0) :: 良好帖 (4) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2012-08-28   最后修改:2012-12-10
前几天发表了 这篇文章:Android左侧推出导航的简单实现


昨天又有人问我如何实现两侧都能够推出导航菜单,我想了一下,其实也很简单,修改了一下代码很容易的实现了这个需求。


整个菜单可以通过触碰的方式展开,也可以通过按钮方式,而且菜单的宽度是根据组件宽度自适应。


有需要的同学可以下载附件









另外:鄙视那些只下载不回复的同学,下载了感觉不错请投个良好


-----------------------------------------

谢谢cdsama同学的提醒,这是我的小疏忽,大家下载源码之后自己改改



cdsama 写道
楼主你好,你的代码中protected void snapToDestination()此函数for循环中的break应该改为continue,这样右边的滑到一半才会停留在右边,否则在右边展开状态下无论怎么轻微滑动都会滑到中间,导致右边的菜单不够稳定。
请核实下,如本人有错误,请指正。



  • 大小: 13.2 KB
  • 大小: 13.4 KB
   发表时间:2012-08-28  
看了昨天那个例子还有些没吃透. 谢谢分享.
0 请登录后投票
   发表时间:2012-08-28  
很牛啊,希望楼主多分享些这样的,我们这些菜鸟看到这样的文章是很激动的
0 请登录后投票
   发表时间:2012-08-28  
现在好像越来越多android的APP都用了这种菜单模式,其实使用中有个问题,有时候点击动作会被当作拖拽动作。
0 请登录后投票
   发表时间:2012-08-28  
xleon 写道
现在好像越来越多android的APP都用了这种菜单模式,其实使用中有个问题,有时候点击动作会被当作拖拽动作。


如果你了解机制就不会这么说了,点击动作被当成拖拽是因为拖拽的阻尼值设置的太小,这个是可以设置的。
这个值的主要作用在于判断是否构成拖拽的触发条件,如果滑动的长度小于这个值那么就不会滑动,大于这个值才会被判断成滑动。

在我源码里面有这么个属性:mTouchSlop 就是其阻尼值。

mTouchSlop = ViewConfiguration.get(getContext()).getScaledTouchSlop();
上面这句是系统默认的值,这个是可以自己根据情况改的。

0 请登录后投票
   发表时间:2012-08-28  
多谢分享啦楼主
0 请登录后投票
   发表时间:2012-08-31  
Cindy_Lee 写道
xleon 写道
现在好像越来越多android的APP都用了这种菜单模式,其实使用中有个问题,有时候点击动作会被当作拖拽动作。


如果你了解机制就不会这么说了,点击动作被当成拖拽是因为拖拽的阻尼值设置的太小,这个是可以设置的。
这个值的主要作用在于判断是否构成拖拽的触发条件,如果滑动的长度小于这个值那么就不会滑动,大于这个值才会被判断成滑动。

在我源码里面有这么个属性:mTouchSlop 就是其阻尼值。

mTouchSlop = ViewConfiguration.get(getContext()).getScaledTouchSlop();
上面这句是系统默认的值,这个是可以自己根据情况改的。


多谢分享了,学习学习!
0 请登录后投票
   发表时间:2012-09-03  
楼主无私啊,我等新手且先下下来学学
0 请登录后投票
   发表时间:2012-09-03  
看了一下效果还是挺好的
0 请登录后投票
   发表时间:2012-09-10  
楼主, 我想请教一下,如果像要导航菜单是在主界面后面的,不是随着主界面推出来的怎么做,就像人人客户端的效果
0 请登录后投票
论坛首页 移动开发技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics