2012-01-27 2 views
2

현재 Kindle Fire에서 내 Android 앱을 사용하고 있습니다. 나는 MDPI와 HDPI 스크린 모두를위한 삽화를 가지고 있지만, 나는 Kindle에서 어플리케이션을로드 할 때, MDPI 아트웍을 표시하고 내가 원하는 것보다 조금 더 부모를 채우고있는 아트 워크를 뻗어있는 것을 알아 챘다. .Kindle Fire에서 HDPI 리소스 사용

특정 상황 (예 : 킨들 인 경우)에 따라 Android에 어떤 방법이 있는지 궁금 해서요. MDPI를 기본값으로 설정하는 대신 HDPI 아트 워크에서로드하도록합니다.

MDPI 폴더에 약간 다른 이름으로 HDPI 아트웍을 저장하고 모든 리소스를 확인하지만, 이는 오버 헤드가 많아서 앱 크기가 커지는 것을 의미하지 않습니다. , 나는 또한 피하고 싶다.

고마워요.

업데이트 : 아직이 사진을보고 있습니다. MDV 아트 워크가 존재하더라도 MDPI 대신 HDPI 아트웍을 선택하는 안드로이드 장치를위한 방법이 있습니까?

답변

1

는 그 동안 해킹 솔루션을 사용하여 종료,하지만 난이 건너 온 :

I don't want Android to resize my bitmap Automatically

거의 바로 스케일링 문제를 방지하기 위해 nodpi 폴더에 내 hdpi에 이미지를 (이동하는 데 필요한) 이름을 약간 변경했습니다 (이름에 _hd를 추가했습니다). 그 후 나는 내가 원하는 이미지의 이름을 소요하고 장치가 hdpi에 경우 이미지를 _hd 반환 또는 이미지 로더를 만들어이 빛나다 화재의 경우 :

id = ctx.getResources().getIdentifier(string + "_hd", "drawable", context.getPackageName()); 

참고 : 워드 프로세서 (getIdentifier의 사용을 억제 할) , 그것은 자원 주소를 사용하는 것보다 덜 효율적이기 때문에,하지만로드 시간을 살펴보고 getIdentifier가 1000 개의 이미지를로드하는 데 걸리는 시간은 .25 초입니다. 이미지.

1

빛나다 화재는 160dpi의 1024x600입니다. 맞습니까?

그 해상도로 새로운 자원을 시험 사용해 볼 수 있습니다. MDPI 폴더에 저장하십시오. layout-large/res 디렉토리를 추가하고 거기에 레이아웃 파일을 복사하십시오.그런 식으로 Kindle Fire에서는 MDPI 폴더의 더 큰 리소스를 가리키는 레이아웃에서 레이아웃을 사용합니다.

그리고 리소스에 항상 9 패치 드로어 블을 사용해야합니다.

희망이 도움이됩니다.

+0

답장을 보내 주셔서 감사합니다. 불행히도 많은 작품이 9 개의 패치 이미지로 잘 돌아 가지 않아 MDPI 이미지가 480x320 화면에서 꽤 잘 보이고 HDPI 이미지는 ~ 800x480 이미지에서 잘 보입니다. 나는 Kindle에로드 할 수는 있지만, 이는 HDPI 폴더에서로드하기 위해 빛나다를 리디렉션하는 방법을 찾거나, 위에서 말한 것처럼 MDPI 폴더에 아트웍을 복제하는 것을 의미하지만, 이는 내 크기의 APK, 나는 피하고 싶다. 어쨌든 나쁜 생각은 아니지만 다른 것을 시도하고 싶습니다 ... – user1174195

+0

> 빛나다 화재는 160dpi의 1024x600입니다. 맞습니까?아니요, 169 DPI의 600x1024 (: D) [https://developer.amazon.com/help/faq.html#KindleFire](https://developer.amazon.com/help/faq.html#KindleFire) –

0

해당 해결 방법으로 새 ​​리소스를 시도하고 MDPI 폴더에 저장할 수 있습니다. layout-large/res 디렉토리에 추가하고 여기에 레이아웃 파일을 복사하십시오. 그런 식으로 킨들 파이어 layout-large에서 레이아웃을 사용하여 MDPI 폴더의 더 큰 리소스를 가리 킵니다.