nkcmr
nkcmr

Reputation: 11000

DisplayMetrics returning all zero

I am trying to access some DisplayMetrics data and everything is returning zero. This is how I am initializing display metrics object:

DisplayMetrics display = new DisplayMetrics();

and when I call display.heightPixels it's just zero. Do I need a permission or something to access DisplayMetrics?

Upvotes: 4

Views: 3364

Answers (3)

OcuS
OcuS

Reputation: 5310

This is not how to use DisplayMetrics.

This is how:

final WindowManager w = (WindowManager) context
            .getSystemService(Context.WINDOW_SERVICE);
final Display d = w.getDefaultDisplay();
final DisplayMetrics m = new DisplayMetrics();
d.getMetrics(m);

// m now contains reliable data

Upvotes: 11

Mahdi Hijazi
Mahdi Hijazi

Reputation: 4454

You should call: getWindowManager().getDefaultDisplay().getMetrics(display);

before calling display.heightPixels

Upvotes: 0

Guillaume
Guillaume

Reputation: 9061

I think you have to use getWindowManager().getDefaultDisplay().getMetrics(metrics);, before call the method display.heightPixels

Upvotes: 0

Related Questions