Android应用仅在最小化后运行

问题描述 投票:0回答:1

我正在尝试制作一个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;

如果有人可以提供帮助,那将非常感激。

java android surfaceview
1个回答
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;
}
© www.soinside.com 2019 - 2024. All rights reserved.