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;
}
}
}
分享到:
相关推荐
用户的左右滑动操作被最外层的scrollView控件处理掉了,所以只要让scrollview对左右滑动事件不监听,让其子控件处理左右滑动事件 。重写scrollview的onInterceptTouchEvent方法,当上下滑动时不处理即可。 代码如下 ...
Android中自定义ListView,解决scrollview嵌套listview 滑动事件冲突,是非常常见的问题,我写了一个例子和大家交流学习
通过重写ScrollView和HorizontalScrollView实现任意布局或者大图片、图表等的上下左右滑动,支持同时上下左右滑动,解决了原先滑动卡顿和同一时间只能一个方向滑动的问题~
完美解决listView嵌套scrollView的滑动冲突问题
一个简单的demo,包含了onTouch,onLongClick,onClick调用日志,顺便解决ScrollView事件冲突,详情看博文:http://blog.csdn.net/msl0903/article/details/24205973
android 解决ScrollView和listView嵌套冲突问题(保证在ScrollView中滑动listView只响应listView的滑动)
ScrollView嵌套ListView滑动冲突的解决方案
RecyclerView 嵌套 RecyclerView 滑动冲突解决----------------------- 本人亲测
自定义的ViewPager,可以实现页面之前的相互切换,可以...同时该ViewPager解决了传统ViewPager和ListView,ScrollView滑动冲突问题,当然ListView的滑动冲突实在ScrollView中解决的。实践表明,滑动切换效果较好。
亲测成功,可以直接嵌套项目中 ScrollView嵌套TabLayout+ViewPager解决滑动冲突,已进行重点标注 ViewPager会根据frament的界面高度进行展示,进行framnet的高度测量 嵌套冲突已全部解决
1、ScrollView嵌套listView、GridView时滑动冲突,自定义 ListView、GridView; 2、自定义ScrollView,解决 当有横向的滑动操作时,与ScrollView上下滑动冲突; 2、横向ListView
使用外部拦截法 、内部拦截法解决ScrollView+ListView 解决滑动冲突
ScrollView嵌套ListView滑动冲突的解决方案
本Demo主要是用于解决ListView和ScrollView嵌套冲突给ListView带来显示不正常的问题,通过动态测量ListVIew高度来解决
涉及到了ViewPager,MapView,ListView,就需要ScrollView来做一下支援,这篇文章主要介绍了浅谈Android实践之ScrollView中滑动冲突处理解决方案,有需要的可以来了解一下。
解决listview和scrollview冲突 使用linearlayout自定一个listview 用法与listview相同
自己写的解决viewpager和scrollview的冲突问题,需要的可以下载
1、解决RecyclerView与ScrollView滑动冲突2、实现RecyclerView悬停导航栏3、实现RecyclerView置顶item置顶功能