Android编程开发ScrollView中ViewPager无法正常滑动问题解决方法
作者:非著名程序员 发布时间:2023-12-15 01:21:32
标签:Android,ScrollView,ViewPager
本文实例讲述了Android编程开发ScrollView中ViewPager无法正常滑动问题解决方法。分享给大家供大家参考,具体如下:
这里主要介绍如何解决ViewPager在ScrollView中滑动经常失效、无法正常滑动问题。
解决方法只需要在接近水平滚动时ScrollView不处理事件而交由其子View(即这里的ViewPager)处理即可,重写ScrollView的onInterceptTouchEvent函数,如下:
package cc.newnews.view;
import android.content.Context;
import android.util.AttributeSet;
import android.view.GestureDetector;
import android.view.GestureDetector.SimpleOnGestureListener;
import android.view.MotionEvent;
import android.widget.ScrollView;
public class VerticalScrollView extends ScrollView {
private GestureDetector mGestureDetector;
public VerticalScrollView(Context context, AttributeSet attrs) {
super(context, attrs);
mGestureDetector = new GestureDetector(context, new YScrollDetector());
}
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
return super.onInterceptTouchEvent(ev)
&& mGestureDetector.onTouchEvent(ev);
}
class YScrollDetector extends SimpleOnGestureListener {
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2,
float distanceX, float distanceY) {
/**
* 如果我们滚动更接近水平方向,返回false,让子视图来处理它
*/
return (Math.abs(distanceY) > Math.abs(distanceX));
}
}
}
再将xml中的ScrollView改为<xxx.xxx.xxx.VerticalScrollView>即包名.重写的ScrollView的类名)即可。
本方法同样适用于ScrollView中ListView等其他View无法滚动。
希望本文所述对大家Android程序设计有所帮助。


猜你喜欢
- 一、编译步骤解压下载的GDAL源程序,并在命令行中切换到解压目录。tar -xzvf gdal-2.1.3.tar.gzcd gdal-2.
- 这篇文章主要介绍了SpringCloud Feign参数问题及解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学
- 工具方法:本文的目的是把json串转成map键值对存储,而且只存储叶节点的数据maven 引用jar包版本:<dependency&g
- 本文实例为大家分享了android Matrix图片随意放大缩小和拖动的具体代码,供大家参考,具体内容如下step1:新建一个项目DragA
- 本篇给大家详细讲解了MTKAndroid平台开发流程,大致分为44个步骤,我们把每个步骤的命令详细讲解了下,一起来学习下。1.拷贝代码仓库从
- 本文实例讲述了android编程实现悬浮窗体的方法。分享给大家供大家参考,具体如下:突然对悬浮窗体感兴趣,查资料做了个小Demo,效果是点击
- 一: Environment.StackTrace可能我们看到最多的就是catch中的e参数,里面会有一个StackTrace,然后不可否认
- 本文将通过阅读spring源码,分析@ComponentScan注解扫描组件的原理。和@Bean注解一样,@ComponentScan注解也
- 介绍Java状态模式(State Pattern)是一种面向对象的设计模式,它将对象的状态封装成独立的状态对象,并将对象的行为与状态对象解耦
- 前言哎呀,妈呀,又出异常了!俗话说:“代码虐我千百遍,我待代码如初恋”。小Alan最近一直在忙着工作,已经很久没有写写东西来加深自己的理解了
- Android onKeyDown监听返回键无效的解决办法当我们的Activity继承了TabActivity,在该类中重写on
- 1.application.ymlserver: port: 8184spring: application: &n
- 在项目里,我需要做一个Spring Boot结合Thymeleaf前端模版,结合JPA实现分页的演示效果。做的时候发现有些问题,也查了现有网
- Java读取json数据并存入数据库1. pom依赖<dependency> &nbs
- 需求:键盘录入一个月份,输出该月份对应的季节。一年有四季3,4,5 春季6,7,8 夏季9,
- 一、项目简述功能包括: 前台实现:用户浏览菜单、菜品分类筛选、查看菜单详 情、添加购物车、购物车结算、会员券、个人订单查询等 等。 后台实现
- 话不多说,请看代码/// <summary>/// 判断字符串是否是数字/// </summary>public s
- Java多线程线程的创建1.继承Thread2.实现Runnable3.实现Callable使用继承Thread类来开发多线程的应用程序在设
- 1. 可空类型修饰符 ?// 引用类型能用空引用来表示一个不存在的值,但是值类型不能。例如:string str = null;int i
- 算法概述/思路归并排序是基于一种被称为“分治”(divide and conquer)的策略。其基本思路是这样的:1.对于两个有序的数组,要