2013-09-02 3 views
1

내 앱에서 3 가지 DPI (MDPI, HDPI, XHDPI)를 지원합니다. 내 모든 테스트 장치에서 갤럭시 넥서스 (XHDPI) 및 Xperia Z (XXHDPI)를 제외하고 앱은 정상적으로 작동합니다.런타임시 Android DPI 변경

응용 프로그램이 시작될 때이 장치에서 모든 것이 잘되고 잘 보이지만 특정 새 작업이 시작되면 갑자기 MDPI 자원이 사용됩니다.

사람이 인식하거나 해결할 수있는 동작입니까? 저에게 알려주세요!

이미 불행하게도 어떤 성공을하지 않고, android:launchMode와 함께 연주 ...

+1

다른 이름과 이미지 이름이 다른 HDPI에서 원하는 이미지 집합을 저장 한 다음 특정 레이아웃의 XML보기에 바인딩하는 오버 헤드가 있습니다. 예 : 버튼이라는 이름의 버튼 이미지가있는 경우 버튼 1이라는 동일한 HDPI 폴더 이름으로 이미지를 복사하여 붙여 넣은 다음 특정 장치의 XML (MDPI에서 이미지를 가져옴)을 지정하여 버튼 1 이미지를 지정하도록합니다. – Skynet

+0

불쾌한 솔루션처럼 들리면 모든 레이아웃 XML에 대해 3 개의 중복이 필요하다는 뜻입니다. 나는 이것을 구현하기 위해 뛰어 내리지 않고있다. 그러나 이것이 유일한 해결책이라면 나는 선택의 여지가별로 없을 것이다. 어쨌든 고마워! – Glenn85

+0

예, 당신의 메가 비트가 급격히 증가 할 것이며, 또 다른 해결책은 메릴랜드 플래닛을 비워 두는 것입니다. 그러나 어떤 방식 으로든 다른 레이아웃을 위해 만드는 3 개 또는 4 개의 서로 다른 폴더에 대해 XML 레이아웃의 중복이 필요합니다. – Skynet

답변

-1

당신은 넥서스와 같은 xhdpi 장치에 대한 drawable-large 폴더를 사용해야합니다. 나는 이것을 동일한 문제가있는 프로젝트에 구현했다. drawable-xhdpi은 넥서스에 의해 감지되지 않지만 리소스를 drawable-large에 넣으면 제대로 작동합니다.