android归属地显示错误,Android开发【07-18疑问贴】求助大神 来电归属地拖移动问题...

这段代码展示了如何在Android中创建一个可以点击并触摸拖动的吐司视图。通过监听MotionEvent ACTION_DOWN, ACTION_MOVE 和 ACTION_UP 事件,实现了视图的移动功能。用户按下时记录初始坐标,移动时更新视图位置,并限制在屏幕边界内。同时,在ACTION_UP事件中保存最后的位置坐标。

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

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

这是一个点击触摸移动的代码

toast_view = View.inflate(getApplicationContext(), R.layout.toast_phone, null);

params = new WindowManager.LayoutParams();

toast_view.setOnTouchListener(new OnTouchListener() {// 归属地吐司按住拖动

private int startX;

private int startY;

@Override

public boolean onTouch(View view, MotionEvent motionEvent) {

switch (motionEvent.getAction()) {

case MotionEvent.ACTION_DOWN:

startX = (int) motionEvent.getRawX();

startY = (int) motionEvent.getRawY();

break;

case MotionEvent.ACTION_MOVE:

int disX = (int) motionEvent.getRawX() - startX;

int disY = (int) motionEvent.getRawY() - startY;

params.x = params.x +disX;

params.y = params.y + disY;

if (params.x< 0) {// 左边<0

params.x= 0;

}

if (params.y <0 ) {

params.y =0 ;

}

if (params.x >wm.getDefaultDisplay().getWidth() - toast_view.getWidth() ) {

params.x = wm.getDefaultDisplay().getWidth() - toast_view.getWidth();

}

if (params.y > wm.getDefaultDisplay().getHeight() - toast_view.getHeight() - 22) {// 大于屏幕宽度

params.y = wm.getDefaultDisplay().getHeight() - toast_view.getHeight() - 22;

}

startX = (int) motionEvent.getRawX();

startY = (int) motionEvent.getRawY();

wm.updateViewLayout(toast_view, params);

break;

case MotionEvent.ACTION_UP:

SharepreferUtils.putInt(getApplicationContext(), ConstantValue.TOAST_LOCATIONX, params.x);

SharepreferUtils.putInt(getApplicationContext(), ConstantValue.TOAST_LOCATIONY, params.y);

break;

}

//只有ontouch方法 没有onclcik 所以return true

return true;

}

});

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值