Android 학습 루트(18)는 서로 다른 장치 지원-서로 다른 화면 지원
네 가지 보편적인 사이즈가 있습니다:small,normal,large,xlarge그리고 네 가지 보편적인 밀도: low(ldpi),medium(mdpi),high(hdpi),extrahigh(xhdpi)서로 다른 화면에 서로 다른 레이아웃과 그림을 설명하려면 선택할 수 있는 자원을 다른 디렉터리에 두어야 한다. 이것은 다중 언어를 지원하는 방법과 유사하다.
마찬가지로 서로 다른 화면 크기 아래의 화면 방향 설정을 고려해야 하기 때문에 많은 응용 프로그램들이 서로 다른 방향에서 서로 다른 구조를 바꾸어 최상의 사용자 체험을 실현한다.
다른 배치 생성하기
다양한 화면 크기에 적용할 수 있는 사용자 체험을 제공합니다. 지원하고 싶은 화면 크기마다 유일한 XML 레이아웃 파일을 만들어야 합니다.모든 레이아웃 파일은 적당한 자원 디렉터리에 저장해야 하며 디렉터리 이름은
-<screen_size>
를 접미사로 한다.예를 들어 큰 화면을 저장하는 레이아웃 디렉터리의 이름은 res/layout-large/
이다.팁: Android 시스템은 자동으로 배치를 확장하여 화면에 맞게 배치합니다.따라서 서로 다른 레이아웃을 위해 디자인한 UI 요소의 실제 사이즈를 걱정할 필요가 없다. 사용자 체험에 영향을 주는 레이아웃 구조 (예를 들어 중요한 레이아웃이 옆에 있는 레이아웃의 사이즈와 위치에 상대적인 것) 를 주의해야 한다.
예를 들어, 이 항목에는 기본 레이아웃 디렉토리와 큰 화면에 사용되는 레이아웃 디렉토리가 포함됩니다.
MyProject/
res/
layout/
main.xml
layout-large/
main.xml
파일 이름은 반드시 완전히 같아야 하지만, 그것들의 내용은 같지 않아서, 서로 다른 화면 크기에 가장 좋은 UI 전시를 제공할 수 있다.
응용 프로그램에서 레이아웃을 간단하게 참조합니다.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
디바이스의 화면 크기에 따라 적절한 레이아웃 디렉토리의 레이아웃 파일이 추가됩니다.적절한 레이아웃 리소스 선택에 대한 자세한 내용은 Providing Resources 부트를 참조하십시오.
또 다른 예로는 프로젝트 가로 화면의 선택적 리소스가 있습니다.
MyProject/
res/
layout/
main.xml
layout-land/
main.xml
기본적으로
layout/main.xml
파일은 세로로 표시됩니다.큰 화면의 장치를 포함한 응용 프로그램의 레이아웃을 지정하려면
large
과 land
제한을 동시에 사용해야 합니다.MyProject/
res/
layout/ # default (portrait)
main.xml
layout-land/ # landscape
main.xml
layout-large/ # large (portrait)
main.xml
layout-large-land/ # large landscape
main.xml
팁: Android 3.2 이상의 시스템은 밀도와 무관한 픽셀의 최소 너비와 높이에 따라 지정된 화면 크기의 자원을 지정할 수 있는 고급 방법을 제공합니다.이 과정은 이 신기술을 포함하지 않는다.자세한 내용은 Designing for Multiple Screens를 참조하십시오.
다른 그림 만들기
모든 공통 밀도 장치에 정확하게 축소할 수 있는 그림 자원을 제공해야 합니다: low,medium,high and extra-high 밀도.이것은 모든 화면 밀도 장치에서 더 높은 그림 품질과 성능을 얻을 수 있도록 도와준다.
이 그림을 생성하려면 먼저 다음 크기 크기의 원본 자원에 대한 벡터 자원으로 서로 다른 화면 밀도에 그림을 생성해야 합니다.
xhdpi: 2.0
hdpi: 1.5
mdpi: 1.0 (baseline)
ldpi: 0.75
이것은 xhdpi 장치에 200x200 그림을 생성하면 hdpi 장치에 150x150의 같은 자원을 생성해야 한다는 것을 의미합니다.mdpi 장치 100x100,ldpi 장치 75x75입니다.
그런 다음 해당 drawable 리소스 디렉토리에 파일을 배치합니다.
MyProject/
res/
drawable-xhdpi/
awesomeimage.png
drawable-hdpi/
awesomeimage.png
drawable-mdpi/
awesomeimage.png
drawable-ldpi/
awesomeimage.png
네가 인용할 때마다
@drawable/awesomeimage
시스템은 화면 밀도에 따라 적당한 그림을 선택한다.알림: 저해상도 (ldpi) 자원은 필요하지 않습니다.hdpi 자원을 제공하면, 시스템은ldpi 화면에 맞게 자원을 반으로 줄일 것입니다.
응용 프로그램에 icon 자원을 만드는 마법사에 대한 자세한 내용은 Iconography 디자인 가이드를 참조하십시오.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Android 학습 루트(18)는 서로 다른 장치 지원-서로 다른 화면 지원Android 시스템은 장치 화면을 분류하기 위해 크기와 밀도라는 두 가지 일반 속성을 사용합니다.화면 크기와 밀도를 포함한 응용 프로그램이 어떤 장치에 설치될지 예측해야 한다.이렇게 되면, 서로 다른 스크린에 응용...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.