我有一个问题...我有一个absolutelayout中的两个滚动视图。换句话说,它们是全屏幕并且彼此重叠重叠滚动视图
顶部滚动视图是水平滚动的,而底部滚动视图是垂直滚动滚动视图。
当我滚动水平我想要顶部滚动,当我滚动垂直我希望底部滚动。
但我的问题是,滚动型水平通吃滚动事件,使其底部一个从来没有收到一个滚动事件......
我怎样才能解决这个问题?
在此先感谢!
我有一个问题...我有一个absolutelayout中的两个滚动视图。换句话说,它们是全屏幕并且彼此重叠重叠滚动视图
顶部滚动视图是水平滚动的,而底部滚动视图是垂直滚动滚动视图。
当我滚动水平我想要顶部滚动,当我滚动垂直我希望底部滚动。
但我的问题是,滚动型水平通吃滚动事件,使其底部一个从来没有收到一个滚动事件......
我怎样才能解决这个问题?
在此先感谢!
您可能需要为此实现自定义控件。您需要一个Scroller级别的自定义控件。您也可以下载source code for ScrollView class并将其修改为双向。
不要将可滚动的东西放入其他可滚动的东西 - 它们倾向于通过触摸事件进行争夺。
但是,这将有助于什么?如果其他事情正在采用,底层视图将永远不会获得触摸事件? – Alioooop 2012-01-05 12:15:44
如何嵌套它们?您可以通过填充和边距使其在视觉上看起来相同,并且还可以控制哪个视图处理触摸。
我不确定你是否可以说一个滚动视图应该只处理水平,而另一个只处理垂直 - 可能不是。但是你可以重写onTouchEvent和onInterceptTouchEvent来定义你需要的任何行为! (查看http://developer.android.com/reference/android/view/GestureDetector.html)
例如,如果您希望父滚动视图只处理垂直滚动,而孩子把手水平,你应该
}
或者类似的东西。你应该做什么并不难,但你明白了。
另外我注意到你使用了一个AbsoluteLayout,这是弃用。主要是由于屏幕尺寸和分辨率现在都不同。它可能在您的模拟器或手机上看起来很棒,但可以尝试将它放在平板电脑或其他手机上(没有什么看起来合适)。只是一个头。 – Jack 2012-01-04 20:46:19
我使用fill_parent,所以滚动视图将永远是全尺寸:) – Alioooop 2012-01-05 11:59:27