code

모든 Android 기기를 지원하려면 14 가지 레이아웃이 필요합니까?

codestyles 2020. 12. 2. 21:22
반응형

모든 Android 기기를 지원하려면 14 가지 레이아웃이 필요합니까?


정말 혼란 스러워요. developer.android.com 문서 에서 현재 모든 Android 기기에서 내 이미지의 크기를 올바르게 조정 (가로 세로 비율)하기 위해 아래에 이러한 레이아웃이 모두 필요합니다. 정말 모두가하는 일입니까? 내가 뭔가를 놓치고 있습니까, 아니면 다른 방식으로해야합니까?

Low density Small screens QVGA 240x320
------------------------------------------------
layout-small-ldpi
layout-small-land-ldpi

Low density Normal screens WVGA400 240x400 (x432)
------------------------------------------------
layout-ldpi
layout-land-ldpi

Medium density Normal screens HVGA 320x480
------------------------------------------------
layout-mdpi
layout-land-mdpi

Medium density Large screens HVGA 320x480
------------------------------------------------
layout-large-mdpi
layout-large-land-mdpi

High density Normal screens WVGA800 480x800 (x854)
------------------------------------------------
layout-hdpi
layout-land-hdpi

Xoom (medium density large but 1280x800 res)
------------------------------------------------
layout-xlarge
layout-xlarge-land

앱은 클래식 레이아웃을 사용하는 모든 기기에서 작동합니다.

몇 가지 한정자를 추가하여 버튼을 추가하거나 가로 모드에서 레이아웃을 변경할 수 있지만 그것은 당신에게 달려 있습니다!

예를 들어 LDPI (작은 해상도) 장치에서 일부 버튼을 조정하거나 작은 화면에 맞게 약간 변경해야 할 수 있습니다.

가로 모드에서는 오른쪽에, 세로 모드에서는 레이아웃 하단에 몇 개의 버튼을 배치 할 수도 있습니다!

당신은 그것들을 사용할 필요가 없습니다.


Roman Nurik의 Android Dev Protip 에 따르면 화면 크기 한정자 :

태블릿과 같은 대형 화면 장치에 대한 사용자 지정 레이아웃이있는 경우 이제 -large 또는 -xlarge 리소스 한정자 사용을 중지 하고 -swXXdp 또는 -wXXdp 한정자 를 사용 하도록 전환해야 합니다. 후자는 API 레벨 13 에서 도입되었으며 , 기본적으로 모든 태블릿은 현재 최신 플랫폼 버전 차트 1에 따라 지원합니다.

기본적으로 -large가 효과가있는 모든 경우에 대해 -swXXdp 를 사용하여보다 세분화 할 수 있습니다.

그렇다면 어떤 실제 sw 또는 w 한정자를 사용해야합니까? 다음은 빠른 시작점입니다.

7 인치 태블릿 : layout-large 대신 layout-sw600dp를 사용하세요.

예 : Nexus 7 = 960 × 600 dp; 두 차원 중 작은 것은 600입니다.

10 인치 태블릿 : layout-xlarge 대신 layout-sw720dp를 사용하세요.

예 : Nexus 10 = 1280 × 800 dp; 두 차원 중 더 작은 것은 800입니다. 일부 10 인치 태블릿은 약간 더 좁아서 720이 일반적으로 사용되는 스위칭 포인트입니다.

그 이상의 기능이 있습니다 (기기 폼 팩터가 아니라 콘텐츠의 최소 요구 사항에 따라 스위칭 포인트를 선택하고 싶습니다). 그러나 그것은 다른 날에 대한 #Protip입니다 (:: cough :: + Nick Butcher :: cough : :).


AbsoluteLayout을 사용하지 않는 경우 레이아웃에서 화면에 맞게 응용 프로그램의 크기가 조정됩니다.

But in some cases, for smaller screens you need declare a new layout with less components for example.

For images:

You has some options.

Simple ignore some resolutions and let the device choose the best image to it. Declare on AndroidManifest for wich sizes you want to support. Or has just one and let the resize screw your application.


Yes. You should define different layout for different screen resolution.

When you are supposed to work with tablet kind of application. That time really you feel that. There is a need of different layout. Because Tablets always comes in different size.

One more thing, When you are working on android, means you should always taste your app with real device. And also test with different size emulators.

참고URL : https://stackoverflow.com/questions/5558534/do-i-need-14-different-layouts-to-support-all-android-devices

반응형