不确定这个问题是否得到了回答。我确实尽了最大的努力去寻找,因为我觉得其他人也会有这样的问题。基本上,我使用随机与setX和setY一起移动视图周围随机onClick。这在我的设备上运行得很好,我继续发布了这款应用程序。尽管我哥哥使用的是另一台设备,他说只要点击按钮,视图就会从屏幕上消失。
显然,我的猜测是setX和setY只是把它移出了屏幕。有人知道如何让视图只在父布局内移动吗?我还需要保持我当前的随机方法,因为它是游戏的组成部分。
下面是我的按钮移动代码:Random r = new Random();
int buttonHeight;
int buttonWidth;
buttonHeight = btnCount.getHeight();
buttonWidth = btnCount.getWidth();
int xLeft = r.nextInt(480 - buttonHeight);
int yUp = r.nextInt(800 - buttonHeight);
int xRight = r.nextInt(480 + buttonHeight);
int yDown = r.nextInt(800 + buttonHeight);
btnCount.setX(xLeft);
btnCount.setX(xRight);
btnCount.setX(yUp);
btnCount.setX(xDown);
任何想法?
向后兼容性
我确实看到了很多关于这个的问题,但是如果你想在这里帮助解决2比1的问题,关于如何在api 11之前做同样的方法有什么想法吗?如果没有,那很酷,我可以在这个修复后查看其他问题和方法。
我发现在当前布局中找到宽度和高度,无论设备如何,然后将这些值除以3,然后将值除以3并创建一个int变量,然后与buttonHeight和buttonWidth一起使用,在所有设备上都可以很好地保持按钮在屏幕内。我知道这可能不是一个理想的解决方案,但它是一个快速。我仍然愿意接受其他建议。
谢谢!
将主设备的高度和宽度保存在某个地方,并进行简单的计算,如:
maindeviceHeight - randomscaleheight
newDeviceHeight - ?