为了账号安全,请及时绑定邮箱和手机立即绑定

我希望点a后让b在原始基础上向右移动20像素要如何做?

我希望点a后让b在原始基础上向右移动20像素要如何做?

慕容3067478 2022-10-07 19:15:16
为什么有getScrollX,getScrollY,getLocationInWindow,getLocationInScreen这些获取坐标的函数,却没有对应的set函数?假设layout里就两个button,ID分别为a和b,我希望点a后让b在原始基础上向右移动20像素要如何做?求教大家了,谢谢了~
查看完整描述

2 回答

?
拉风的咖菲猫

TA贡献1995条经验 获得超2个赞

RelativeLayout.LayoutParams ballLp = (android.widget.RelativeLayout.LayoutParams)b.getLayoutParams();
ballLp.leftMargin = 从你控件的基础上加20像素;
ballLp.topMargin = 不变:
b.setLayoutParams(ballLp);

这没有移动的动画,只是直接跳到次位置上
要有移动的话可以加动画,或者让这段代码执行20次,每次leftMargin增加1就可以了。

查看完整回答
反对 回复 2022-10-12
?
FFIVE

TA贡献1797条经验 获得超6个赞

button 貌似不能直接固定位置,好像要嵌套在一个什么里面,居体记不清了

查看完整回答
反对 回复 2022-10-12
  • 2 回答
  • 0 关注
  • 108 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信