10

레이아웃 유형을 지원하는 휴대 전화를 결정하는 방법에 대해 다소 혼란 스럽습니다. 나는 약간의 연구를했지만 만족스러운 답을 찾지 못했습니다.어떤 전화 지원 레이아웃 (hdpi, mdpi 및 xhpi)을 알 수 있습니까?

  1. 삼성 그랜드 (480 * 800)HTC의 야생 : 난 아직도 몇 가지 문제가, 그러나

    xlarge screens are at least 960dp x 720dp 
    large screens are at least 640dp x 480dp 
    normal screens are at least 470dp x 320dp 
    small screens are at least 426dp x 320dp 
    

    :

    예를 들어, 나는 아래의 가이드를 발견했습니다 화재 S (320 * 480) 모두 MDPI를 지원합니다. 이 화면은 해상도가 다르지만 레이아웃 유형은 동일합니까?

  2. 갤럭시 노트 2 (1280 * 720)는 HDPI를 지원합니다. HD (720p)가 HDPI 만인 경우, XHDPI를 지원하는 장치/해상도는 언제입니까?

  3. 나는 이미 여기에서 관련 질문을했습니다 : How to set layout on 7" two different tablet?.

  4. 그러나 내 가장 중요한 질문은 다음과 같습니다. 각 레이아웃 유형을 지원하는 장치 또는 화면 해상도를 어떻게 알 수 있습니까? 이러한 세부 사항에

+0

왜 장치 모델 이름을 알아야합니까? – ozbek

+0

모든 장치 화면 크기가 걱정되지 않아야합니다. 다른 레이아웃 (일반, hdpi, xhdpi)을 만들고 모든 장치는 dpi에 따라 레이아웃을 실행합니다. BTW ... 갤럭시 노트 2에는 267dpi 화면이 있습니다. 따라서 xhdpi 레이아웃을 사용합니다. –

+0

나는이 질문을 bcz 메신저 webview를 사용하여 내가 튜브 비디오를 보여줄 수 있도록 모든 장치에 다른 다른 GUI를 보여줍니다. – duggu

답변

12

안드로이드 취급 MDPI (160 픽셀/인치) 레이아웃과 이미지를 제공해야 기본 밀도. 그래서 mdpi 장치, 1 dp = 1 픽셀. 밀도가 높을수록 인치 당 픽셀 수가 많아집니다 (hdpi의 경우 240, xhdpi의 경우 320).

안드로이드 자체 자동 스케일 : 그래픽 이미지에 관계없이 장치의 픽셀 밀도의 스크린 상에 물리적으로 동일한 크기를 차지하게

안드로이드 시도. 그래서 모든 것이 mdpi 리소스이고 장치가 hdpi이면 240/160 = 150 %로 그래픽의 크기를 조정하고 xhdpi의 그래픽 크기를 두 배로 늘립니다. 그래픽의 다른 버전을 사용

:

당신이 (그래픽 가난한 볼 수 있습니다)이 자동 스케일링을하지 않으려면, 당신은 단순히 이상에서 사용하기 위해 그래픽 자원의 자신의 버전을 제공 할 수 있습니다 밀도. 이 그래픽은 안드로이드가 mdpi 리소스를 확장하는 것과 같은 크기 여야합니다.

참고 : 이미지 파일에 저장된 픽셀/인치는 이와 관련이 없습니다. 프로젝트의 리소스 디렉토리에 그래픽 파일을 저장하는 위치를 기반으로합니다. res/drawable에 배치 된 모든 그래픽은 res/drawable-mdpi에 배치 된 그래픽과 마찬가지로 mdpi 디스플레이에 적합한 크기로 간주됩니다. res/drawable-hdpi에서 찾은 이미지 파일은 hdpi 디스플레이 등에 적합하게 크기가 있다고 가정합니다.프로그램이 특정 장치에서 실행될 때 Android는 먼저 해당 장치의 표시 밀도와 일치하는 그래픽을 찾습니다. 하나를 찾지 않고 대신 다른 밀도를 찾으면 위의 규칙을 기반으로 이미지의 크기를 자동으로 조절합니다.

LDPI, MDPI 및 hdpi에 는 많은 픽셀이 단일 인치에 저장할 수있는 수단 화면 밀도을 참조한다.

그들 사이의 픽셀에서 비율은 다음과 같은과 스크린 들면

for mdpi it should be 100X100 
for ldpi it should be 75X75 
for hdpi it should be 150X150 
for xhdpi it should be 200X200 
for xxhdpi it should be 300X300 

이러한 방식 :

ldpi = 1:0.75 
mdpi = 1:1 
hdpi = 1:1.5 
xhdpi = 1:2 
xxhdpi = 1:3 

정도로 100X100 정도의 크기를 가진 화상을 취할 수 있도록 크기가 다르지만 DPI가 다르면 모든 이미지가 화면에 같은 크기로 보입니다.

0

보기 : 안드로이드 자체로 모든 것을 관리합니다, 당신은 단지 상대 폴더에 같은

res/layout/my_layout.xml    // layout for normal screen size ("default") 
res/layout-small/my_layout.xml  // layout for small screen size 
res/layout-large/my_layout.xml  // layout for large screen size 
res/layout-xlarge/my_layout.xml  // layout for extra large screen size 
res/layout-xlarge-land/my_layout.xml // layout for extra large in landscape orientation 

res/drawable-mdpi/my_icon.png  // bitmap for medium density 
res/drawable-hdpi/my_icon.png  // bitmap for high density 
res/drawable-xhdpi/my_icon.png  // bitmap for extra high density