在RelativeLayout

时间:2017-01-31 14:44:10

标签: java android-studio button relativelayout

我正在制作一个游戏,其中用户应该在计时器达到一秒之前尝试按下按钮,并且每次用户点击按钮时按钮移动到随机位置。 按钮在开始时居中,但显然会在游戏结束时随机放置。我有一个重启按钮,我想让按钮居中,这样游戏才能重新开始。

任何帮助?

1 个答案:

答案 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()来检索原始位置。