我尝试过:
Resources.getSystem().getDisplayMetrics().widthPixels
和
Resources.getSystem().getDisplayMetrics().heightPixels
但是当我的应用程序进入待机状态很长一段时间后,唤醒时上面的两行返回0。
编辑:我想将这些值放入静态和最终字段。
答案 0 :(得分:3)
您可以使用静态初始化程序。你可以通过在类体中嵌入一个块来实现:
class MyClass {
public static final int width;
public static final int height;
static {
DisplayMetrics dm = Resources.getSystem().getDisplayMetrics();
width = dm.widthPixels;
height = dm.heightPixels;
}
}
答案 1 :(得分:0)
以下是我用来获取屏幕尺寸的内容,如果需要,可以将display,screenWidth和screenHeight变量作为类变量(在任何方法之外,即onCreate)。然后你可以将if语句放入onCreate或其他方法来初始化变量。
Display display = getWindowManager().getDefaultDisplay();
int screenWidth, screenHeight;
if (android.os.Build.VERSION.SDK_INT >= 13)
{
Point size = new Point();
display.getSize(size);
screenWidth = size.x;
screenHeight = size.y;
}
else
{
screenWidth = display.getWidth();
screenHeight = display.getHeight();
}