android view禁用,Android 禁止ViewPager的自带滑动效果
由于最近在做墨水屏的相关工作,ViewPager自带的滑动效果在墨水屏上表现的很不好,残影太重了。所以禁止自带的滑动效果,用接口来接管相关逻辑实现自处理。
import android.content.Context;
import android.util.AttributeSet;
import android.view.MotionEvent;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.viewpager.widget.ViewPager;
/**
* Created by Hu.Lei on 2019年11月28日, 0028.
* 禁止滑动
*/
public class NoSlidingViewPager extends ViewPager {
float beforeX = 0;
float lastX = 0;
public NoSlidingViewPager(@NonNull Context context) {
super(context);
}
public NoSlidingViewPager(@NonNull Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
}
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
int action = ev.getAction();
if (action == MotionEvent.ACTION_DOWN){
beforeX = ev.getX();
Utils.log("NoSlidingViewPager(ACTION_DOWN): x轴方向:beforeX --> " + beforeX);
} else if (action == MotionEvent.ACTION_UP){
lastX = ev.getX();
Utils.log("NoSlidingViewPager(ACTION_UP): x轴方向:beforeX --> " + beforeX + " lastX --> " + lastX);
if (beforeX == lastX){ // 点击事件
return super.onInterceptTouchEvent(ev);
} else {
if (beforeX > lastX){ // 向左滑动
if (listener != null){
listener.onLeftFling();
}
} else if (beforeX < lastX){ // 向右滑动
if (listener != null){
listener.onRightFling();
}
}
beforeX = 0;
lastX = 0;
return true;
}
}
return false;
}
public interface FlingListener{
void onLeftFling();
void onRightFling();
}
private FlingListener listener;
public void setFlingListener(FlingListener listener){
this.listener = listener;
}
}
android view禁用,Android 禁止ViewPager的自带滑动效果相关推荐
- android view flipper,Android之ViewFlipper的简单使用
大家都使用过ViewPager,但是ViewPager还有一个兄弟,那就是ViewFlipper.两者的名字非常相似,我们可以将ViewPager理解成"一页一页的视图",View ...
- Android view变形,android仿变形金刚效果实现MatchView
what?变形金刚!先看效果吧! MainActivity.javapackage com.lee.matchview; import com.example.matchview.R; import ...
- Android view.settran,Android RecyclerView从入门到玩坏
目录 前言 基础使用 分隔线 点击监听 搭配CardView 更丰富的条目 增删条目 快速添加视图 让RecyclerView支持复杂视图 最后前言 RecyclerView在Android界面开发当 ...
- android view嵌套,Android RecyclerView嵌套RecyclerView点击事件
RecyclerView嵌套RecyclerView点击事件遇到取值错乱的问题 其实问题根本就是咱们没有处理好被嵌套的那层recycleview的position 那么解决思路也很简单,想办法把被嵌套 ...
- android.view.surface,Android SurfaceView 源码分析及使用
概述 SurfaceView 是 Android 中一种比较特殊的视图(View),它跟平时时候的 TextView.Button 最大的区别是它跟它的视图容器并不是在同一个视图层上,它的 UI 显示 ...
- android ViewPager 不带滑动效果切换item
其实这是很简单的,但是今晚脑袋晕乎乎的 绕了一大圈,记录一下 以警同类人. 只需要在setCurrentItem传参数时这么写:mViewPager.setCurrentItem(item序号,fal ...
- 音乐歌单Android,仿网易云音乐歌单界面 Header滑动效果
这是我的第一篇博客,做Android 开发2年多以来,曾经也有过写一些技术博客的想法,但因为有时候因为懒,有时候工作忙加班多而力不从心,所以迟迟没有开始写自己的博客.最近正好工作不忙,想写一些博客,记 ...
- android京东商城一级分类到二级分类的滑动效果,Android仿京东分类模块左侧分类条目效果...
本文实例为大家分享了Android仿京东左侧分类条目效果的具体代码,供大家参考,具体内容如下 import android.app.Activity; import android.os.Bundle ...
- TabLayout+ViewPager实现选项卡动态滑动效果
1. 前提准备 今天回顾了下TabLayout与ViewPager的联合使用,顺便写个demo来加深下理解.首先要明确TabLayout是design下的,并非系统原来的widget下的.所以首先在a ...
最新文章
- Vivado 随笔(5) 行为仿真(Behavior Simulation)相关事宜?
- linux tracepoint例子,tracepoint介绍
- Go标准库os/exec使用指南
- matlab深度学习_matlab使用贝叶斯优化的深度学习
- c语言学生成绩查询课设报告,C语言课设报告(学生考试成绩查询程序)【荐】.doc...
- 阿里巴巴对Java编程【Mysql】的规约
- Ubuntu下安装JDK1.8并配置开发环境
- mysql数据库中 pri_MySQL数据库管理——SQL指令集
- Linux内存管理宏观篇(五)物理内存:页面分配和释放页面
- Fedora 14 直接root登录
- SPSS(十五)spss之聚类分析(图文+数据集)
- 【民大Linux课件】Linux的基础操作1
- 微型计算机虚拟内存器件,内外存储器与缓存内存虚拟内存.ppt
- html css img 居中显示图片,css图片垂直居中 让html img图片垂直居中的三种方法
- 软件测试需要学什么?软件测试技能图谱
- MFO问题与MFEA算法
- Vue 之 使用umy-ui虚拟表格
- 【人工智能大作业】A*和IDA*搜索算法解决十五数码(15-puzzle)问题 (Python实现)(启发式搜索)
- 新加坡打造绿色数据中心任重道远
- 弘辽科技:淘宝怎么改发货时间?有什么发货规则?
热门文章
- response html 页面,使用response将html拼接页面写到当前浏览器端完成自动提交功能...
- centos mysql 设置_CentOS下MySql优化及安全设置centos
- 怎么打开外部文件_保存的DWG文件再次用CAD打开时提示文件损坏了怎么办?【AutoCAD教程】...
- 从零实现 SpringBoot 简易读写分离,也不难嘛!
- 每日一皮:这一定是“宅”的极致了...
- 不是每个打工人都能享受 996 的福报
- Kubernetes 使用 ceph-csi 消费 RBD 作为持久化存储
- ScheduledThreadPool中的Leader-Follow模式你知道不?
- Spring Boot Profile使用详解及配置源码解析
- powershell禁用计算机,PowerShell 因为在此系统中禁止执行脚本 解决方法