lenovo A1 (240dpi 밀도의 태블릿) 또는 은하계 노트와 같은 기기의 경우 기기에서 다양한 크기로 보이는 모든 것을 피하려면 앱에서이를 수행해야 할 수 있습니다.
는에서 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);
}
을 밀도를 변경? 정말 이상하게 들리며 나쁜 생각 일 수 있습니다. 유스 케이스 란 무엇입니까? – dmon
틀림없이. 이 접근법이 효과가 있는지보기위한이 시점에서의 실험. 우리는 크기가 초과 된 phonegap 응용 프로그램을 가지고 있으며 축소하기 위해보기 포트 대상 밀도를 사용하고 있습니다. 소프트 키보드가 줌되면 확대/축소 효과를 얻기 위해 밀도를 변경하는 것처럼 보입니다. 밀도를 재설정하거나이 농도 변화가 발생하지 않도록하는 방법을 모색합니다. 이것은이 접근법을 가진 유일한 버그 인 것처럼 보이지만 그것을 발견하는 데 큰 어려움이 있습니다. –
응용 프로그램 onconfigchange에서 변경하려면 반응합니까? –