【Android开发】随意拖动控件,刷新不回到原位

本文探讨了在Android开发中遇到的问题——如何实现控件在被拖动后,即使父控件刷新,仍能保持在新位置。通过OnTouchListener监听并避免控件回到原位的技术实现进行了详细介绍。
摘要由CSDN通过智能技术生成

找了很多资料都是用OnTouchListener监听拖动控件,但是当父控件刷新,即父控件内有控件刷新,之前拖动的控件就会回到原位,经过多次修改,终于实现了拖动并不会自动回到原位


/** 上传按钮随意移动  */
	int lastX, lastY; //记录移动的最后的位置
	int left = 0, top = 0, right = 0, bottom = 0;
	@Override
	public boolean onTouch(View v, MotionEvent event) {   
	    //获取Action
			int ea=event.getAction();  
		    switch(ea){
		    case MotionEvent.ACTION_DOWN:   //按下
		     lastX = (int) event.getRawX();   
		     lastY = (int) event.getRawY();   
		     break;   
		    case MotionEvent.ACTION_MOVE:  //移动
		     //移动中动态设置位置
		     int dx =(int)event.getRawX() - lastX;   
		     int dy =(int)event.getRawY() - lastY;   
		     left = v.getLeft() + dx;   
		     top = v.getTop() + dy;   
		     right = v.getRight() + dx;   
		     bottom = v.getBottom() + dy;  
		     //不超出屏幕范围
		     if(left < 0){   
		      left = 0;   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值