Android的全屏尺寸

时间:2013-08-25 14:06:46

标签: android screen-size

我想获得Android设备的屏幕尺寸。我正在使用这3个代码来做这个,但是这些代码给了我活动的大小;这是没有状态栏高度的大小。 在800px高度的平板电脑上,此代码为764px。 36px到达底部的状态栏。

    Display display = getWindowManager().getDefaultDisplay();
    Point size = new Point();
    display.getSize(size);
    final int width = size.x;
    final int height = size.y;



    Rect rectgle= new Rect();   
    Window window= getWindow();
    window.getDecorView().getWindowVisibleDisplayFrame(rectgle);
    int height2= rectgle.bottom;



    DisplayMetrics metrics = new DisplayMetrics();
    getWindowManager().getDefaultDisplay().getMetrics(metrics);
    int actualHeight = metrics.heightPixels;

但是我需要一个代码,它给我屏幕的实际大小。不是活动的。任何人都可以帮我这个吗? 谢谢。

2 个答案:

答案 0 :(得分:4)

答案 1 :(得分:3)

此代码段会为您提供状态栏的高度。

Rect rectgle= new Rect();
Window window= getWindow();
window.getDecorView().getWindowVisibleDisplayFrame(rectgle);
int StatusBarHeight= rectgle.top; 
int contentViewTop= 
window.findViewById(Window.ID_ANDROID_CONTENT).getTop();
int TitleBarHeight= contentViewTop - StatusBarHeight;

因此屏幕的总高度为: -

height = height+TitleBarHeight;

原始答案是here。另请注意,这不会在onCreate中将该代码放在runnable中。