首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

ScrollView内嵌HorizontalScrollView滚动有关问题

2014-01-22 
ScrollView内嵌HorizontalScrollView滚动问题本帖最后由 Ancool_ 于 2011-06-07 12:05:15 编辑上下左右滚

ScrollView内嵌HorizontalScrollView滚动问题
本帖最后由 Ancool_ 于 2011-06-07 12:05:15 编辑 上下左右滚动效果是实现了,可是有个问题就是一次只能滚动一个方向,也就是说我触摸屏幕做上下滚动后,手不离开屏幕,这时要再左右滚动是不行的.而且发现这样嵌套后左右滚动很不灵敏的.

有没有前辈解决过这个问题,或者有实现同时支持上下左右滚动的类?

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

下面有一条解决方案,我尝试做了,但是没成功,希望大家能指点下.感激不尽.

eoeandroid的luobo25:"以前我做过Gallery和纵向ScrollView的,Gallery在外,ScrollView在里,需要重写Gallery的dispatchTouchEvent()你这个应该也是类似的,因为 touch event 是从顶向下传递的,也就是从容器View传递到子View,如果容器View决定处理这个 touch event 了,它就不会传递给子View,这时就只能纵滚;反之它决定不处理,就传递给子View处理,这时就只能横滚。两个ScrollView可以同时处理一个 touch event ,只要你同时把参数 event 传递给它们的方法:onTouchEvent(MotionEvent)这样说的话你心里应该有谱了吧,ScrollView 决定一个 touch event 要处理还是传递的是dispatchTouchEvent(), 你只要重写外层ScrollView的 dispatchTouchEvent就行了。"
[解决办法]
   ScrollView内嵌HorizontalScrollView滚动一次是只能一个方向,松开才可以换方向,不能任意角度滚动。
要自己重写onTouchEvent,开始触摸是记录坐标,以后计算偏移来移动。

热点排行