如何获得屏幕的密度?

Sun*_*hoo 12 android screen

如何获得屏幕密度?我尝试过以下代码.我的密度是1.0.我改变了我的模拟器HVGA,QVGA并且WVGA仍然我得到相同的结果.

int density = getResources().getDisplayMetrics().density;
Run Code Online (Sandbox Code Playgroud)

如何获得我的模拟器屏幕的实际密度.

sat*_*sat 23

检查此代码,

DisplayMetrics metrics = new DisplayMetrics();    
getWindowManager().getDefaultDisplay().getMetrics(metrics);    
int screenDensity = metrics.densityDpi;    
Run Code Online (Sandbox Code Playgroud)


Mat*_*ias 12

如果您只能访问上下文而不是实际的Activity对象,则无法使用getWindowManager().

我不得不使用这种方法:

DisplayMetrics metrics = new DisplayMetrics();
WindowManager wm = (WindowManager)mContext.getSystemService(Context.WINDOW_SERVICE);
wm.getDefaultDisplay().getMetrics(metrics);
Run Code Online (Sandbox Code Playgroud)