2016-08-30 3 views
0

다른 폰을 위해 다른 레이아웃을 만들어야합니다. 잘못된 레이아웃을 사용하는 Android?

나는 3 전화와 화면 크기 chekced :

SONY XPERIA Z: 
08-30 09:04:05.258 1008-1008/pl.graphicbox.polamp I/LAYOUT: widthPixels = 1080 
08-30 09:04:05.258 1008-1008/pl.graphicbox.polamp I/LAYOUT: heightPixels = 1776 
08-30 09:04:05.258 1008-1008/pl.graphicbox.polamp I/LAYOUT: densityDpi = 480 
08-30 09:04:05.258 1008-1008/pl.graphicbox.polamp I/LAYOUT: xdpi   = 442.451 
08-30 09:04:05.258 1008-1008/pl.graphicbox.polamp I/LAYOUT: ydpi   = 443.345 

Samsung s3: 
08-30 09:05:00.179 21820-21820/pl.graphicbox.polamp I/LAYOUT: widthPixels = 480 
08-30 09:05:00.179 21820-21820/pl.graphicbox.polamp I/LAYOUT: heightPixels = 800 
08-30 09:05:00.179 21820-21820/pl.graphicbox.polamp I/LAYOUT: densityDpi = 240 
08-30 09:05:00.179 21820-21820/pl.graphicbox.polamp I/LAYOUT: xdpi   = 234.0 
08-30 09:05:00.179 21820-21820/pl.graphicbox.polamp I/LAYOUT: ydpi   = 236.0 

Sony xperia M 
08-30 09:08:25.964 5391-5391/pl.graphicbox.polamp I/LAYOUT: widthPixels = 720 
08-30 09:08:25.964 5391-5391/pl.graphicbox.polamp I/LAYOUT: heightPixels = 1184 
08-30 09:08:25.964 5391-5391/pl.graphicbox.polamp I/LAYOUT: densityDpi = 320 
08-30 09:08:25.964 5391-5391/pl.graphicbox.polamp I/LAYOUT: xdpi   = 345.056 
08-30 09:08:25.964 5391-5391/pl.graphicbox.polamp I/LAYOUT: ydpi   = 342.231 

을 나는 3 레이아웃을 생성 :

layout-sw200dp 
layout-sw300dp 
layout-sw400dp 

하지만 같은 레이아웃 레이아웃 sw300dp을 사용하여 모든 전화를.

enter image description here

누군가 내가 잘못하고 어떻게이 문제를 복구하는거야 걸 설명 할 수 있습니다. Thx.

+0

내 편집을 확인하십시오 로그에 dpWidth를 추가, 그것을 확인합니다. – Esperanz0

+0

제 편집을 확인하십시오. 코드 줄을 추가하지 않았습니다. –

답변

2

모든 전화기의 폭은 300-400dp이며 sw300dp를 사용할 때는 올바른 것으로 보입니다. 내가 이런 짓을,

Display display = getWindowManager().getDefaultDisplay(); 
DisplayMetrics outMetrics = new DisplayMetrics(); 
display.getMetrics(outMetrics); 

float density = getResources().getDisplayMetrics().density; 
float dpWidth = outMetrics.widthPixels/density; 
+0

네, 맞습니다. 모든 장치는 bettwen 320 및 360 있습니다.하지만 소니 M 및 소니 Z는 360 폭 dp ..하지만 화면 크기는 다른 점입니다 .. 지금은 무엇입니까? – Esperanz0

+0

@ Esperanz0, 안타깝게도 Android가 작동하는 방식입니다. dp는 정확한 단위가 아닙니다. 목표는 가장 가까운 화면 크기로 앱의 레이아웃을 보편적으로 만드는 것이므로 5.2 인치 및 4.7 인치 기기에서 잘 보입니다. 이 문제가 생기면 새로운 질문을 만들어야하며 그런 비슷한 장치에 3 가지 레이아웃이 필요한 이유를 설명해야합니다. –

+0

소니 M 레이아웃이 괜찮아 보이기 때문에 다른 레이아웃을 만들고 싶습니다.하지만 소니 Z 텍스트는 단일 등 대신 여러 줄로되어 있습니다 ... 왜 내가 자신의 레이아웃을 만들려했는지 ... – Esperanz0

관련 문제