`
zwnJava
  • 浏览: 208071 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

Android开发ScrollView上下左右滑动事件冲突整理二(根据角度)

 
阅读更多

Android的ScrollView滑动获得角度实例:

package com.cm.android.pad.view.itemView;

import android.content.Context;
import android.util.AttributeSet;
import android.view.GestureDetector;
import android.view.GestureDetector.SimpleOnGestureListener;
import android.view.MotionEvent;
import android.view.View;
import android.widget.ScrollView;

public class TestScroll extends ScrollView {

	private GestureDetector mGestureDetector;
	private static double SCROLL_ANGLE = 90;

	public TestScroll(Context context, AttributeSet attrs) {
		super(context, attrs);
		mGestureDetector = new GestureDetector(new YScrollDetecotr());
		setFadingEdgeLength(0);
	}

	@Override
	public boolean onInterceptTouchEvent(MotionEvent ev) {
		return super.onInterceptTouchEvent(ev)
				&& mGestureDetector.onTouchEvent(ev);
	}

	class YScrollDetecotr extends SimpleOnGestureListener {
		@Override
		public boolean onScroll(MotionEvent e1, MotionEvent e2,
				float distanceX, float distanceY) {
			// if(distanceY != 0 && distanceX != 0){
			//
			// }
			// if(Math.abs(distanceY) >= Math.abs(distanceX)){
			// System.out.println("distanceX = " + distanceX + " , distanceY = "
			// + distanceY);
			// return true;
			// }
			// return false;

			double angle = Math.atan2(Math.abs(distanceY), Math.abs(distanceX));
//			System.out.println("angle-->" + (180 * angle) / Math.PI);
			if ((180 * angle) / Math.PI < 180) {
				return false;
			}

			return false;
		}
	}
}
 
分享到:
评论

相关推荐

    Android ScrollView嵌套横向滑动控件时冲突问题

    用户的左右滑动操作被最外层的scrollView控件处理掉了,所以只要让scrollview对左右滑动事件不监听,让其子控件处理左右滑动事件 。重写scrollview的onInterceptTouchEvent方法,当上下滑动时不处理即可。 代码如下 ...

    Android中自定义ListView,解决scrollview嵌套listview 滑动事件冲突

    在Android开发中,ListView是用于显示大量数据列表的常用组件,而ScrollView则是一个可以垂直滚动的视图容器,常用于包含多个子视图。当在一个ScrollView内嵌套一个ListView时,由于两者都具有滑动功能,可能会导致...

    Android上下左右滑动支持同时滑动斜向任意方向滑动大图片浏览大图表浏览

    解决滑动冲突通常需要对Android的触摸事件处理机制有深入理解,包括如何处理MotionEvent的ACTION_DOWN、ACTION_MOVE和ACTION_UP等,以及如何在自定义View中正确处理这些事件。 总的来说,这个技术解决方案旨在提高...

    android完美解决listView与ScrollView滑动冲突

    总之,解决Android中的ListView与ScrollView滑动冲突问题,需要理解事件分发机制,以及掌握各种滚动控件的特性和API。通过合理的设计和编程,可以实现两者无缝协作,提供流畅的用户体验。在提供的压缩包文件...

    Android ScrollView+GridView左右滑动 自动定位滑动到某一项

    在Android开发中,ScrollView和GridView是两种常用的布局组件。ScrollView是一个可以包含单个子视图并允许用户滚动查看其内容的容器,而GridView则是一种可以显示多行多列数据的控件,通常用于创建网格视图。在这个...

    Android中自定义ScrollView的滑动监听事件

    下面我们将详细探讨如何在Android中自定义ScrollView并添加滑动监听事件。 首先,我们要了解ScrollView的基本结构。ScrollView继承自FrameLayout,它可以包含一个直接子视图,并确保这个子视图完全可见,如果内容太...

    ScrollView滑动事件冲突

    一个简单的demo,包含了onTouch,onLongClick,onClick调用日志,顺便解决ScrollView事件冲突,详情看博文:http://blog.csdn.net/msl0903/article/details/24205973

    ViewPager+Fragment左右滑动+上下滑动不冲突

    当ViewPager中的Fragment包含可滚动的内容(如ScrollView或ListView)时,可能会出现上下滑动与ViewPager的左右滑动冲突。为了解决这个问题,我们需要自定义一个ViewPager,覆盖其`onInterceptTouchEvent...

    ScrollView嵌套ListView滑动冲突的解决方法

    当需要在一个界面中同时展示大量数据和一些额外内容时,可能会将ListView嵌套在ScrollView中,但这种做法往往会导致滑动冲突的问题,即用户难以确定是想滚动整个ScrollView还是单独滑动ListView。本文将深入探讨这个...

    android ScrollView嵌套demo

    在Android开发中,ScrollView是一个非常常用的布局控件,它允许用户滚动查看屏幕无法完全显示的所有内容。当需要在布局中包含多个视图或者一个高度超过屏幕的视图时,我们通常会使用ScrollView。然而,当ScrollView...

    ScrollView与ListView的滑动冲突

    在Android开发过程中,我们经常会遇到ScrollView与ListView或GridView组合使用时出现的滑动冲突问题。这类问题通常表现为:当ScrollView内部包含一个ListView或GridView时,用户滑动屏幕时可能无法正常滚动列表中的...

    android滑动事件冲突解决

    滑动冲突的根源在于Android的触摸事件分发机制。当一个ViewGroup接收到触摸事件后,它会尝试将事件传递给其子View。如果子View消费了事件,那么事件就不会再传递给其他子View或其父View。在嵌套布局中,如果所有子...

    ScrollView嵌套ScrollView滑动

    可以通过重写ScrollView的onInterceptTouchEvent和onTouchEvent方法,根据当前滑动的方向和速度判断应该由哪个ScrollView处理滑动事件。一般情况下,如果滑动方向与内层ScrollView的滚动方向一致,则让内层...

    android 解决ScrollView和listView嵌套冲突问题(保证在ScrollView中滑动listView只响应listView的滑动)

    在Android开发中,ScrollView和ListView的嵌套是一个常见的需求,但同时也伴随着许多技术挑战,主要问题在于两者都具有滚动功能,导致冲突,使得用户在滚动时可能会遇到不确定的行为。本篇将详细介绍如何解决这种...

    解决scrollView和listview滚动冲突,实现listview滑动到顶端和底部之后还能拖拽一定的距离,松开后返回

    在Android开发中,ScrollView和ListView是两种常用的布局组件,它们分别用于实现可滚动的大视图和展示多行可滚动的数据列表。然而,在实际应用中,当这两种组件同时存在于一个界面时,滚动冲突的问题就会出现,导致...

    解决listview潜逃在scrollview中的滑动冲突

    在Android开发中,ListView和ScrollView都是非常常见的视图组件。ListView用于显示大量的数据列表,而ScrollView则可以包裹任意数量的子视图,实现整个布局的滚动。然而,当ListView被嵌套在ScrollView中时,就会...

    android ListView和ScrollView事件冲突

    在Android开发中,ListView和ScrollView是两种常用的布局组件。ListView主要用于显示大量的数据列表,而ScrollView则用于实现可滚动的视图。然而,在实际应用中,当ListView被嵌套在ScrollView或者与ScrollView并存...

    ScrollView+ListView 解决滑动冲突

    在Android开发中,ScrollView和ListView都是非常常见的视图组件。ScrollView是一个可以包含单个直接子视图并允许用户滚动查看其内容的布局。ListView则是一个显示大量数据并支持动态加载和用户交互的视图,通常用于...

Global site tag (gtag.js) - Google Analytics