我正在尝试制作一个Android蛇游戏,我希望有一个网格延伸到屏幕宽度的正方形(人像)。
我使用drawable存储我的png
,当我添加行grid.setBounds(0,0,screenWidth,screenWidth)
时,我的手机首先显示一个白色的屏幕,虽然它按预期工作,一旦我最小化并重新打开我的应用程序。
如果我将标准数字作为参数放置,该应用程序也可按预期工作。这是我在android 7上的nexus 6P。当我在旧设备上模拟它时它可以工作,但在较新的设备上模拟,我看到同样的问题。我得到的屏幕宽度如下:
WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
Point size = new Point();
display.getSize(size);
screenWidth = size.x;
screenHeight = size.y;
scale = screenWidth/1024.0;
如果有人可以提供帮助,那将非常感激。
尝试以onWindowFocusChnaged
活动方法获取屏幕大小。
@Override
public void onWindowFocusChanged(boolean hasFocus)
{
super.onWindowFocusChanged(hasFocus);
WindowManager wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
Point size = new Point();
display.getSize(size);
screenWidth = size.x;
screenHeight = size.y;
scale = screenWidth/1024.0;
}