实现图片拖动且限制拖动的范围

本文介绍了触屏操作的理解和MotionEvent的相关API,包括ACTION_DOWN、ACTION_MOVE和ACTION_UP等,以及如何通过getX()和getRawX()获取坐标。通过这些知识可以实现图片在指定范围内拖动的功能。

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

触屏操作的理解

  • 最基本的操作类型:
    • down:手指按下
    • move:手指在屏幕上移动
    • up手指从屏幕上离开

触屏操作的顺序:
down->move->move->…->up

对屏幕的任何一个操作,系统都会创建一个MotionEvent对象来对应这个操作

相关API

MotionEvent:触屏事件

int ACTION_DOWN=0 代表down
int ACTION_MOVE=2 代表move
int ACTION_UP=1 代表up

getAction():得到事件类型值
getX():堆到事件发生的x轴坐标(相对于当前视图)
getRawX():得到事件发生的x轴坐标(相对于屏幕左顶点)

代码

public class MainActivity extends AppCompatActivity implements View.OnTouchListener {
   
    private ImageView iv_image;
    private int lastX,lastY; //存储上一个坐标
    private LinearLayout lv_layout;
    private int lvRight,lvBottom;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
   
        super.onCreate(savedInstanceState);
        setContentView
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值