2011-03-22 8 views
3

전체 화면 비트 맵 배경이 필요한 곳에서 응용 프로그램을 작성하고 있습니다. 안드로이드 문서에 Supporting Multiple Screens의 나의 순진한 독서를 바탕으로, 나는 아마도 각 비트 맵의 ​​16 버전을 가지고 있어야합니다 : 모든 [ small, normal, large, xlarge ][ ldpi, mdpi, hdpi, xhdpi ]의 모든 쌍을 가지고 내 모든 기지를 커버하기 위해. 이렇게하면 이미지 크기를 조정하기 위해 CPU가해야하는 작업이 줄어들지 만 훌륭한 저장 비용이 들게됩니다.비트 맵 배경 이미지를 지원해야하는 화면 크기/밀도 조합은 무엇입니까?

그러나,이 두 가지 이유 격렬하게 비효율적 인 것 같다

  1. 이 모든 조합이 실제로 발견 없음.
  2. 각 실제 크기 (DPI를 고려하지 않음)에 대한 벡터 아트를 렌더링하는 중 대형/mdpi 및 일반/hdpi (둘 다 ~ 480x854 픽셀)와 같은 쌍은 중복 파일입니다.

이렇게 큰 이미지를 제공하고 시스템의 크기를 줄여야합니까? 총알을 물고 많은 중복 이미지를 제공합니까? 문제를 완전히 피하고 원시 코드로 코드 솔루션을 자르십시오. 다른 아이디어? 감사.

편집 : 분명히 실제 비트 맵의 ​​별칭 인 XML 비트 맵 드로어 블을 만들 수 있습니다. 그것은 두 번째 비효율 인수를 해결합니다. 아직도, 나는 다른 이들이 실제로 어떤 조합을 제공하는지 궁금하다.

답변

-1

ldpi, mdpi, hdpi 및 선택적으로 xhdpi (대상 사용자에 따라 다름)에 대한 이미지를 제공하는 것이 좋습니다. 그렇게하면 가장 일반적으로 사용되는 해상도를 잘 처리 할 수 ​​있습니다.

응용 프로그램이 너무 커지면 (가능한 모든 이미지 크기 또는 다른 이유로 추가하기로 결정할 때) 응용 프로그램을 SD 카드로 옮길 수 있는지 살펴보십시오. 그렇게하면 스토리지가 더 이상 문제가되지 않습니다. (http://developer.android.com/guide/appendix/install-location.html)

+0

응용 프로그램 자체의 크기가 너무 커질 까봐 걱정됩니다. 이 이미지는 어떤 크기로 제공해야합니까? OS가 어떤 기기에서도 드로어 블을 확장해야하는 것을 원하지 않습니다. –

0

표시되는 화면 dpi에 관계없이 해당 이미지가 일정한 크기가되도록하려면 다른 해상도로 이미지를 제공하십시오. 아이콘 또는 버튼이 이에 대한 예입니다.

여기에 설명 된 배경 이미지의 경우 이미지 dpi가 무엇인지 상관하지 않습니다. x * y 크기 만 신경 써야합니다. 따라서 크기 대 dpi의 교차 곱을 생성 할 필요가 없습니다. 4 화면 크기 범주 만 고려하면됩니다.

4 개의 화면 크기 범주 중 큰 크기 (x 크거나 큰 크기) 중 하나를 저장하고 필요에 따라 프레임 크기를 늘리거나 줄여야합니다. 또한 배경의 종횡비를 변경하지 않고 크기를 자르지 않으려면 프로그래밍 방식으로 비율 조정을 수행 할 수 있습니다.

Android game working on all screen sizes도 참조하십시오. 더 나은 대답을 얻으실 수 있습니다.

관련 문제