我正在制作一个游戏,其中用户应该在计时器达到一秒之前尝试按下按钮,并且每次用户点击按钮时按钮移动到随机位置。 按钮在开始时居中,但显然会在游戏结束时随机放置。我有一个重启按钮,我想让按钮居中,这样游戏才能重新开始。
任何帮助?
答案 0 :(得分:0)
我会使用View#setTranslationX() and View#setTranslationY()方法或View#setX() and View#setY()方法。使用这些属性方法而不是使用View#setLayoutParams()
框架要容易得多。
View#setTranslationX/Y
会使View在屏幕上相对于其当前位置移动一组像素。因此,view.setTranslationX(5)
会向右移动五个像素,view.setTranslationX(-5)
会向左移动五个像素,view.setTranslationY(5)
会将其向下移动五个像素,而view.setTranslationY(-5)
会移动它高达五个像素。 view.setTranslationX(0)
会将其移回x轴上的原始位置,view.setTranslationY(0)
会将其移回y轴。
View#setX/Y()
方法会将视图移动到父视图上的设定点,其中枢轴位于视图的左上角。因此view.setX(0)
会将其移至父视图的左侧,view.setY(0)
会将其移至父视图的顶部。您可以获取父视图宽度和高度,以确定将它们放在视图上的位置。您可以使用view.getX()
和view.getY()
来检索原始位置。