Questions tagged «horizontalscrollview»

8
ScrollView触摸处理中的Horizo​​ntalScrollView
我有一个ScrollView围绕着我的整个布局,因此整个屏幕都是可滚动的。我在此ScrollView中拥有的第一个元素是Horizo​​ntalScrollView块,它具有可以水平滚动的功能。我已经在水平滚动视图中添加了ontouchlistener来处理触摸事件,并强制视图“捕捉”到ACTION_UP事件上最接近的图像。 因此,我想要的效果就像普通的android主屏幕,您可以在其中滚动到另一屏幕,并且在松开手指时可以捕捉到一个屏幕。 除一个问题外,所有其他方法都很好用:我需要几乎完全水平地从左向右滑动才能使ACTION_UP注册。如果我至少在垂直方向上滑动(我认为很多人在左右滑动时倾向于在手机上滑动),那么我会收到ACTION_CANCEL而不是ACTION_UP。我的理论是,这是因为horizo​​ntalscrollview在scrollview中,并且scrollview劫持了垂直触摸以允许垂直滚动。 如何仅从水平滚动视图中禁用滚动视图的触摸事件,但仍允许在滚动视图中的其他位置进行正常的垂直滚动? 这是我的代码示例: public class HomeFeatureLayout extends HorizontalScrollView { private ArrayList<ListItem> items = null; private GestureDetector gestureDetector; View.OnTouchListener gestureListener; private static final int SWIPE_MIN_DISTANCE = 5; private static final int SWIPE_THRESHOLD_VELOCITY = 300; private int activeFeature = 0; public HomeFeatureLayout(Context context, ArrayList<ListItem> items){ super(context); setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT)); setFadingEdgeLength(0); …


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.