gpt4 book ai didi

android - 拖动/移动后将按钮移回原点

转载 作者:行者123 更新时间:2023-11-30 01:16:29 30 4
gpt4 key购买 nike

我有一个需要与屏幕底部对齐的 ImageButton,当我单击并拖动它时,它会随着我的手指移动一定距离,超过该距离它不会远离原点,而是继续跟随我的手指从原点开始的方向。

当我松手时,按钮必须滑回原点。

我到目前为止所做的是通过这个答案让按钮跟随我的手指:Moving buttons via Touch

但是,我应该如何在初始化时获取按钮的原点,以便它在我释放后弹回?


最初我通过将 android:layout_gravity="center|bottom"放置在底部来实现按钮的对齐,但它以某种方式扰乱了按钮相对于我手指的位置(它跟随我的手指移动但它偏离了中心)。

因此,我使用 mButton.setY() 和 mButton.setX() 将其放置在屏幕底部,但使用屏幕尺寸来放置它似乎很老套。想不出更好的方法。

最佳答案

您可以使用 XML 设置布局的宽度和高度layout_widthlayout_height

然后在您的 MainActivity 中,实例化布局(我将使用 LinearLayout 作为示例)并获取其宽度和高度。

LinearLayout l = (LinearLayout)findviewbyid(R.id.l1);
int height = l.getHeight();
int width = l.getWidth();

现在,无论何时释放按钮,您都可以通过以下方式设置它的位置:

mButton.setY(height - 50)

这会将 ImageButton 定位在布局底部上方 50 像素处。您也可以用同样的方法根据需要设置按钮的 x 位置。此外,您可能应该将 height - 50 存储为全局变量 (origin),您可以在代码中的任何位置调用它。

关于android - 拖动/移动后将按钮移回原点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37801274/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com