NoScrollViewPager解决嵌套listView依然可以滑动的问题
来源:互联网 发布:安卓温度报警器源码 编辑:程序博客网 时间:2024/05/17 09:30
最近项目中有个需求,使用ViewPager嵌套Fragment,有的Fragment中有listView,ViewPager不可以进行滑动。开始只是重写它的onInterceptHoverEvent与onTouchEvent方法,使之返回false。但是不是这么简单,我们依然可以发现在有listView以及类似的列表控件时,都会让ViewPager有顿顿的滑动效果。并不是屏蔽它的事件分发与处理就可以解决。
于是我简单的下ViewPager的源码,发现scrollTo这个方法不止会在onTouchEvent中进行调用,在其他方法中也会有调用,如setCurrentItemInternal中也会调用。于是我就想会不会因为这个而影响了,我便重写了scrollTo方法,并做了判断,果然有效
上code
public class NoScrollViewPager extends ViewPager { private static final String TAG = "NoScrollViewPager"; private int mWith; public NoScrollViewPager(Context context) { super(context); initData(); } public NoScrollViewPager(Context context, AttributeSet attrs) { super(context, attrs); initData(); } private void initData() { int[] screenWithAndHeight = ScreenUtils.getScreenWithAndHeight((Activity) getContext()); mWith = screenWithAndHeight[0]; } @Override public boolean onInterceptHoverEvent(MotionEvent event) { return false; } @Override public boolean onTouchEvent(MotionEvent ev) { return false; } @Override public void scrollBy(int x, int y) { Log.e(TAG, "scrollBy"); super.scrollBy(x, y); } @Override public void scrollTo(int x, int y) { Log.e(TAG, "scrollTo-x=" + x); Log.e(TAG, "scrollTo-y=" + y); if (x % mWith != 0) { return; } super.scrollTo(x, y); } @Override public void setCurrentItem(int item) { super.setCurrentItem(item, false); }}
阅读全文
0 0
- NoScrollViewPager解决嵌套listView依然可以滑动的问题
- 解决drawerlayout嵌套listview 导致listview不能滑动的问题
- 解决!Gallery中嵌套ListView,Gallery不能滑动的问题
- 解决ListView嵌套ViewPager滑动不了的问题
- 解决ScrollView嵌套ListView滑动冲突显示不全的问题
- Android ScrollView中嵌套ListView,滑动冲突问题的解决
- Android两级嵌套ListView滑动问题的解决
- 解决scrollView嵌套viewpager+listview,scrollview不能滑动的问题
- Android ScrollView中嵌套ListView,滑动冲突问题的解决
- scrollview嵌套Listview解决滑动问题
- 解决ScrollView下嵌套自定义ListView、GridView后依然显示不全的问题
- Listview 嵌套 Viewpager 滑动冲突的解决
- ListView嵌套webView滑动冲突的解决
- 【Android界面实现】解决ScrollView中嵌套Listview,Listview中嵌套Listview显示不完整和滑动冲突的问题
- 【Android界面实现】解决ScrollView中嵌套Listview,Listview中嵌套Listview显示不完整和滑动冲突的问题
- 【Android界面实现】解决ScrollView中嵌套Listview,Listview中嵌套Listview显示不完整和滑动冲突的问题
- 解决ScrollView中嵌套Listview,Listview中嵌套Listview显示不完整和滑动冲突的问题
- 解决ScrollView中嵌套Listview,Listview中嵌套Listview显示不完整和滑动冲突的问题
- java中的锁
- 开启binlog后异常:impossible to write to binary log since BINLOG_FORMAT = STATEMENT
- Java虚拟机学习笔记(1)Windows下编译OpenJDK8
- node.js npm安装
- Android 发送和接收定制广播
- NoScrollViewPager解决嵌套listView依然可以滑动的问题
- Android平台HttpGet、HttpPost请求实例
- Android中添加syslog功能
- 在eclipse中添加tomcat
- myeclipse10.7导出war包时出错解决办法(转)
- Map 综述 彻头彻尾理解 HashTable
- 关于jQuery的一些总结
- SSL、TLS协议格式、HTTPS通信过程、RDP SSL通信过程
- android三大动画的基本使用