getScrollX()方法的理解

本文详细解析了如何在ViewGroup中通过getScrollX判断滑动方向,并介绍了其工作原理。getScrollX返回水平方向上的滚动偏移量,结合初始点击位置与移动时的位置差值diff,实现左右滑动的检测。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、我在一个ViewGroup中添加图片。实际上ViewGroup的大小是超过屏幕的大小的 所以必然会隐藏了View,我缩写的demo是初始状态后,

首先只能向右滑动,然后才能向左滑动,回到初始状态。




2、初始点击时的x坐标-移动时得到的x坐标,movex是滑动的时候跟着变化的一个值,所以diff也是一个变化的值当手从A(20,80)向右

滑到B(80,80)时。diff为-60,这个过程是随着滑动变化的,当手还没达到B时,diff的值从0向-60渐渐靠近。所以以此得到diff为负

数时则是向右滑动,反之向左滑动。




3、分别在case MotionEvent.ACTION_DOWN:和case MotionEvent.ACTION_MOVE:条件处打印输出getScrollX();在日志打印结果可以分析出:

①当界面为初始界面时,只要界面没有移动,无论点屏幕哪个位置,getScrollX()输出始终为0。②当手向右滑动时,藏在屏幕左边的view也

慢慢露出来,这时getScrollX()输出的值慢慢由0向负数方向走。③当左边的view都出现时,点击屏幕任意位置,这时getScrollX()输出的值

固定了,我这里的值为-733。④这时当手向左边滑动时,getScrollX()输出的值将从-733向0靠近,直到界面为初始化时,getScrollX()输

的值为0。现在知道getScrollX()的含义了没?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值