任何人都知道如何在java中更改android应用程序的densityDpi?
我正在开发一个Android应用程序,我在其中操纵视点标签中的目标密度。这在应用程序的某个位置引起了一个小问题,目标密度似乎被软键盘重置。
所以我需要一种方法来重置它,或者防止键盘改变密度。
答案 0 :(得分:0)
对于类似lenovo A1(密度为240dpi的平板电脑)或Galaxy note的设备,您可能需要在应用中执行此操作,以避免所有设备看起来像各种尺寸。
将以下函数添加到扩展应用程序类,并从onCreate调用它:
public void changeDensity(float desiredDensity) {
//desiredDensity : ldpi = 0.75 (120dpi) , mdpi = 1 (160dpi), hdpi = 1.5 (240dpi), xhdpi = 2.0 (320dpi)
DisplayMetrics metrics = getResources().getDisplayMetrics();
metrics.density = desiredDensity;
metrics.xdpi = desiredDensity * 160;
metrics.ydpi = desiredDensity * 160;
metrics.densityDpi = (int) (desiredDensity * 160);
getResources().updateConfiguration(null, null);
}