我试过:
Resources.getSystem().getDisplayMetrics().widthPixels
和:
Resources.getSystem().getDisplayMetrics().heightPixels
但是当我的应用程序长时间处于待机状态时,唤醒上面的两行返回 0。
编辑:我想将这些值放入静态和最终字段中。
我试过:
Resources.getSystem().getDisplayMetrics().widthPixels
和:
Resources.getSystem().getDisplayMetrics().heightPixels
但是当我的应用程序长时间处于待机状态时,唤醒上面的两行返回 0。
编辑:我想将这些值放入静态和最终字段中。
您可以使用静态初始化程序。您可以通过在类主体中嵌入一个块来做到这一点:
class MyClass {
   public static final int width;
   public static final int height;
   static {
       DisplayMetrics dm = Resources.getSystem().getDisplayMetrics();
       width = dm.widthPixels;
       height = dm.heightPixels;
   }
}
    这是我用来获取屏幕尺寸的方法,如果需要,您可以将 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();
    }