get Real Screen Size - Android User Interface

Android examples for User Interface:Screen Size

Description

get Real Screen Size

Demo Code


//package com.java2s;

import android.app.Activity;

import android.graphics.Point;

import android.os.Build;

import android.util.DisplayMetrics;

import android.view.Display;

import android.view.WindowManager;

public class Main {

    public static int[] getRealScreenSize(Activity activity) {
        int[] size = new int[2];
        int screenWidth = 0, screenHeight = 0;
        WindowManager w = activity.getWindowManager();
        Display d = w.getDefaultDisplay();
        DisplayMetrics metrics = new DisplayMetrics();
        d.getMetrics(metrics);/*from   w ww.  j av a 2  s.  c  o m*/
        // since SDK_INT = 1;
        screenWidth = metrics.widthPixels;
        screenHeight = metrics.heightPixels;
        // includes window decorations (statusbar bar/menu bar)
        if (Build.VERSION.SDK_INT >= 14 && Build.VERSION.SDK_INT < 17)
            try {
                screenWidth = (Integer) Display.class.getMethod(
                        "getRawWidth").invoke(d);
                screenHeight = (Integer) Display.class.getMethod(
                        "getRawHeight").invoke(d);
            } catch (Exception ignored) {
            }
        // includes window decorations (statusbar bar/menu bar)
        if (Build.VERSION.SDK_INT >= 17)
            try {
                Point realSize = new Point();
                Display.class.getMethod("getRealSize", Point.class).invoke(
                        d, realSize);
                screenWidth = realSize.x;
                screenHeight = realSize.y;
            } catch (Exception ignored) {
            }
        size[0] = screenWidth;
        size[1] = screenHeight;
        return size;
    }
}

Related Tutorials