Android中View跟随手指滑动效果的实例代码

发布时间:2026/8/27 13:18:00

Android中View跟随手指滑动效果的实例代码
本文讲述了Android中View跟随手指滑动效果的实例代码。分享给大家供大家参考具体如下1、android View 主要6种滑动方法分别是layout()offsetLeftAndRight()和offsetTopAndBottom()LayoutParamsscrollBy()和 scrollTo()Scroller动画2、实现效果图3、自定义中使用layout()方法实习view的滑动代码语言javascriptpublicclassMoveViewextendsView{privateint lastX,lastY;publicMoveView(Context context,Nullable AttributeSet attrs){super(context,attrs);}publicMoveView(Context context,Nullable AttributeSet attrs,int defStyleAttr){super(context,attrs,defStyleAttr);}publicMoveView(Context context){super(context);}publicbooleanonTouchEvent(MotionEvent event){int x(int)event.getX();int y(int)event.getY();switch(event.getAction()){caseMotionEvent.ACTION_DOWN:lastXx;lastYy;break;caseMotionEvent.ACTION_MOVE:int offsetXx-lastX;//计算滑动的距离int offsetYy-lastY;//重新放置新的位置layout(getLeft()offsetX,getTop()offsetY,getRight()offsetX,getBottom()offsetY);}returntrue;}}2、offsetLeftAndRight()和offsetTopAndBottom()代码语言javascriptpublicbooleanonTouchEvent(MotionEvent event){int x(int)event.getX();int y(int)event.getY();switch(event.getAction()){caseMotionEvent.ACTION_DOWN:lastXx;lastYy;break;caseMotionEvent.ACTION_MOVE:int offsetXx-lastX;//计算滑动的距离int offsetYy-lastY;//重新放置新的位置// layout(getLeft() offsetX, getTop() offsetY, getRight() offsetX, getBottom() offsetY);offsetLeftAndRight(offsetX);offsetTopAndBottom(offsetY);}returntrue;}3、LayoutParams 改变布局参数的方法代码语言javascriptpublicbooleanonTouchEvent(MotionEvent event){int x(int)event.getX();int y(int)event.getY();switch(event.getAction()){caseMotionEvent.ACTION_DOWN:lastXx;lastYy;break;caseMotionEvent.ACTION_MOVE:int offsetXx-lastX;//计算滑动的距离int offsetYy-lastY;//重新放置新的位置// layout(getLeft() offsetX, getTop() offsetY, getRight() offsetX, getBottom() offsetY);// offsetLeftAndRight(offsetX);// offsetTopAndBottom(offsetY);LinearLayout.LayoutParams layoutParams(LinearLayout.LayoutParams)getLayoutParams();layoutParams.leftMargingetLeft()offsetX;layoutParams.topMargingetTop()offsetY;setLayoutParams(layoutParams);}returntrue;}4、当然使用动画 scrollBy()和 scrollTo()也可以使view滑动不足的是使用scrollBy()和 scrollTo()滑动时是瞬间完成的用户体验不太好。5、Scroller和 View的computeScroll() 结合使用实现view平滑的移动代码语言javascriptpublicclassMoveViewextendsView{privateScroller mScroller;publicMoveView(Context context,Nullable AttributeSet attrs){super(context,attrs);mScrollernewScroller(context);}publicMoveView(Context context,Nullable AttributeSet attrs,int defStyleAttr){super(context,attrs,defStyleAttr);}publicMoveView(Context context){super(context);}//重写computeScroll方法OverridepublicvoidcomputeScroll(){//view在onDraw的时候会调用此方法super.computeScroll();if(mScroller.computeScrollOffset()){((View)getParent()).scrollTo(mScroller.getCurrX(),mScroller.getCurrY());invalidate();}}//在外部调用这个方法即可publicvoidsmoothScrollTo(int destX,int destY){int scrollXgetScrollX();int deltadestX-scrollX;mScroller.startScroll(scrollX,0,delta,0,6000);invalidate();}}以上就是这篇文章的全部内容了希望本文的内容对大家的学习或者工作具有一定的参考学习价值更多Android进阶指南 可以扫码 解锁《Android十大板块文档》1.Android车载应用开发系统学习指南附项目实战2.Android Framework学习指南助力成为系统级开发高手3.2024最新Android中高级面试题汇总解析告别零offer4.企业级Android音视频开发学习路线项目实战附源码5.Android Jetpack从入门到精通构建高质量UI界面6.Flutter技术解析与实战跨平台首要之选7.Kotlin从入门到实战全方面提升架构基础8.高级Android插件化与组件化含实战教程和源码9.Android 性能优化实战360°全方面性能调优10.Android零基础入门到精通高手进阶之路敲代码不易关注一下吧。ღ( ´ᴗ )

相关新闻

仓储箱体与托盘目标检测数据集实战指南

仓储箱体与托盘目标检测数据集实战指南

2026/8/27 13:18:00

简介:目标检测是工业视觉落地的核心技术,其本质是让机器从图像中定位并识别关键物体。在智能仓储场景中,托盘与箱体作为物流作业的物理载体,其精准识别直接决定AGV调度、WMS库存和叉车控制的可靠性。本文围绕‘仓储箱体’与‘托盘…

DEXTER-LLM: Dynamic and Explainable Coordination of Multi-Robot Systems in Unknown Environments v...

DEXTER-LLM: Dynamic and Explainable Coordination of Multi-Robot Systems in Unknown Environments v...

2026/8/27 13:18:00

DEXTER-LLM论文总结与关键部分翻译 一、文章主要内容 本文针对未知环境下多机器人系统在线协同面临的动态任务触发、规划过程缺乏可解释性等挑战,提出了一种名为DEXTER-LLM的新型框架,用于未知环境中的动态任务规划。该框架整合四大核心模块,有效结合大语言模型(LLMs)的…

如何用WebSerial从浏览器向微控制器发命令:onMessage交互控制台完整教程

如何用WebSerial从浏览器向微控制器发命令:onMessage交互控制台完整教程

2026/8/27 13:18:00

如何用WebSerial从浏览器向微控制器发命令:onMessage交互控制台完整教程 【免费下载链接】WebSerial A remote terminal library for wireless microcontrollers to log, monitor or debug your firmware/product. 项目地址: https://gitcode.com/gh_mirrors/we/W…

【AI大模型】大白话带你了解:智能体、LLM、RAG和提示词工程,轻松构建下一代应用

【AI大模型】大白话带你了解:智能体、LLM、RAG和提示词工程,轻松构建下一代应用

2026/8/27 14:18:03

前言 今天主要来聊一聊Ai大模型中的几个概念 这两年AI应用开发火得不行,但很多小伙伴被一堆专业名词绕晕了。今天咱们就来掰开揉碎说说几个最关键的术语,保证看完你就能和工程师聊上两句了。 一、AI里的"打工人"——智能体 想象有个24小时待命…

一招教你解决DeepSeek R1的卡顿问题,收藏这一篇就够了!!

一招教你解决DeepSeek R1的卡顿问题,收藏这一篇就够了!!

2026/8/27 14:18:03

前言 整个过年,DeepSeek给我用的都卡炸了。 我自己在官方app和网页里,到现在也还是10条回复有8条是“服务器blabla,请稍后重试”。 每次见到这句话,我都想脑溢血。坦率的讲,你指望DeepSeek官方来给你提供一个非常良好的…

马斯克发布「地表最强」Grok-3,屠榜多个排行榜,暴击DeepSeek-R1

马斯克发布「地表最强」Grok-3,屠榜多个排行榜,暴击DeepSeek-R1

2026/8/27 14:18:03

前言 今天,马斯克的AI初创公司xAI发布了 Grok-3 大模型,被称为“地球上最聪明的人工智能”。 在当天主题为「我们的使命是理解整个宇宙」的直播中,马斯克与该公司的三位工程师一起进行了现场演示,官宣 Grok-3 系列:Gro…

DeepSeek-V3、Qwen2.5、Llama3.1、Claude-3.5 与 GPT-4o 的全方位比较

DeepSeek-V3、Qwen2.5、Llama3.1、Claude-3.5 与 GPT-4o 的全方位比较

2026/8/27 14:18:03

前言 大型语言模型(LLMs)在自然语言处理领域展现出了巨大的潜力和广泛的应用前景。在众多LLMs中,DeepSeek-V3、Qwen2.5、Llama3.1、Claude-3.5和GPT-4o以其卓越的性能和独特的特点脱颖而出。本文将对这五个模型进行全面的比较分析&#xff0c…

Linux下打开QtCreator提示Could not load the Qt platform plugin “xcb“ in ““ even though it was found.

Linux下打开QtCreator提示Could not load the Qt platform plugin “xcb“ in ““ even though it was found.

2026/8/27 14:18:03

解决方法:Ubuntu执行指令:sudo apt-get install libxcb-cursor0,centOS/rhel执行指令:yum install -y libxcb libxcb-devel libxkbcommon libX11 libX11-devel,然后重启QtCreator即可。

【AI大模型微调】Meta祭出三篇最详尽Llama微调指南!千字长文,0基础小白必备

【AI大模型微调】Meta祭出三篇最详尽Llama微调指南!千字长文,0基础小白必备

2026/8/27 14:08:03

前言 开源,就要开的彻彻底底。 这不,Meta一连放出三篇技术文章,从大模型适配方法出发,介绍了:如何使用特定领域数据微调LLM,如何确定微调适配自己的用例,以及如何管理良好训练数据集的经验法则。…

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

2026/8/27 11:10:02

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

2026/8/27 7:25:23

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

2026/8/26 17:50:58

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

Go语言构建企业级AI服务网关:统一管理英伟达等AI接口调用

Go语言构建企业级AI服务网关:统一管理英伟达等AI接口调用

2026/8/27 0:07:12

1. 项目概述:从零构建一个企业级的AI服务网关 最近在帮一个做内容审核的团队做技术架构升级,他们原来的业务里,每天有几十万张图片和短视频需要过审,最初是接了几个开源的AI模型自己部署,但效果和性能一直不太稳定。后…

LeetCode Hot100(51-60)算法精解与面试技巧

LeetCode Hot100(51-60)算法精解与面试技巧

2026/8/27 0:07:12

1. 题目背景与核心价值"hot100(51-60)"这个标题看起来像是某个编程题库或算法练习集中的一组题目编号。在技术社区中,类似命名通常指向LeetCode、牛客网等平台的热门题目集合。作为刷过300题的算法老手,我理解这类题目的核心价值在于&#xff…

CRC校验实战:从模2除法到HJ212协议排错

CRC校验实战:从模2除法到HJ212协议排错

2026/8/27 0:07:12

1. 为什么一个“校验码”能扛住工业现场90%的数据 corruption? 你有没有遇到过这样的场景:嵌入式设备通过RS-485上传温湿度数据,上位机偶尔收到一帧乱码——温度显示成-273℃,湿度跳到999%,但串口波形看起来完全正常&a…

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

2026/8/22 2:02:26

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…

导师推荐!2026最新AI论文工具测评与实用推荐

导师推荐!2026最新AI论文工具测评与实用推荐

2026/8/26 18:07:30

2026年真正好用的AI论文工具,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

告别游戏崩溃:XCOM 2模组管理器的智能革命

告别游戏崩溃:XCOM 2模组管理器的智能革命

2026/8/26 17:57:52

告别游戏崩溃:XCOM 2模组管理器的智能革命 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com/gh_mirrors/xc/xcom2-lau…