Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android's FULL screen size

I want to get Android device's screen size. I'm using these 3 codes to do this but these are giving me the activity's size; which is without the size of the status bars height. On tablet with 800px height, this code gives 764px. 36px goes to status bar on the bottom.

    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;

But I need a code which gives me the actual size of the screen. Not the activity's. can anyone help me about this? Thank you.

like image 635
Arda Oğul Üçpınar Avatar asked Aug 25 '13 14:08

Arda Oğul Üçpınar


People also ask

How do I make my Android app fit all screen sizes?

Simple, use relative layout with the set margin code. Set the margins between each text view, button, etc and it will look the same on every phone. android:layout_marginTop="10dp" // change Top to Bottom, Left or Right for what you need.

What is full screen size?

Fullscreen (or full screen) refers to the 4:3 (1. 33:1) aspect ratio of early standard television screens and computer monitors. The 4:3 aspect ratio became the standard in film because it mirrored film stock and was the easiest to use. Widescreen ratios started to become more popular in the 1990s and 2000s.


2 Answers

For API Level 17 and above you can use getRealSize()

https://developer.android.com/reference/android/view/Display.html#getRealSize(android.graphics.Point)

like image 134
Onur A. Avatar answered Oct 29 '22 08:10

Onur A.


This snippet will give you height of your status bar.

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;

So the total height of screen is :-

height = height+TitleBarHeight;

original answer is here. Also note this will not work in onCreate put that code in runnable.

like image 22
Rahul Avatar answered Oct 29 '22 09:10

Rahul