Android学习笔记:Zcutie’s知识空间
问题:由于系统会强制统一dpi,所以当应用自适配时需要对应的dpi时无法获取
代码地址:\frameworks\base\core\java\android\content\res\ResourcesImpl.java
DisplayMetrics getDisplayMetrics() {
if (DEBUG_CONFIG) Slog.v(TAG, "Returning DisplayMetrics: " + mMetrics.widthPixels
+ "x" + mMetrics.heightPixels + " " + mMetrics.density);
//add for dpi 20231204 start
if (ActivityThread.currentOpPackageName().contains("com.xxx")
||ActivityThread.currentOpPackageName().equals("com.android.launcher")
|| ActivityThread.currentOpPackageName().equals("com.android.systemui")) {
mMetrics.density = (float) 2.5;
mMetrics.scaledDensity = (float) 2.5;
mMetrics.densityDpi = 400;
}
//add for dpi 20231204 end
return mMetrics;
}