Android

Android UI 파편화 관련

Machine_웅 2022. 9. 1. 16:14
728x90
반응형

유연한 레이아웃 만들기

ConstraintLayout 사용

다양한 화면 크기에 맞게 반응형 레이아웃을 만드는 가장 좋은 방법은 ConstraintLayout

UI의 기본 레이아웃으로 사용하는 것입니다.

ConstraintLayout을 사용하면 레이아웃에 있는 다른 뷰와의 공간적 관계에 따라 각 뷰의 위치와 크기를 지정할 수 있습니다.

이러한 방식으로 화면 크기가 변경될 때 모든 뷰가 함께 이동하고 확장할 수 있습니다.

 

ConstraintLayout으로 모든 레이아웃 시나리오를 해결할 수는 없지만 어떤 레이아웃을 사용하든

하드 코딩 레이아웃 크기를 사용해서는 안 됩니다

(특히 동적으로 로드되는 목록에는 RecyclerView를 사용해야 함)

 

 

https://developer.android.com/training/constraint-layout?hl=ko 

 

ConstraintLayout으로 반응형 UI 빌드  |  Android 개발자  |  Android Developers

ConstraintLayout으로 반응형 UI 빌드   Android Jetpack의 구성요소 ConstraintLayout을 사용하면 플랫 뷰 계층 구조(중첩 뷰 그룹이 없음)로 크고 복잡한 레이아웃을 만들 수 있습니다. 동위 보기와 상위 레

developer.android.com

 


대체 레이아웃 만들기

스마트폰용으로 디자인한 UI는 태블릿에서는 좋은 환경을 제공하지 못할 수 있습니다.

따라서 앱은 특정 화면 크기에 맞게 디자인된 UI를 최적화할 대체 레이아웃 리소스도 제공해야 합니다.

 


최소 너비 한정자 사용

 

앱을 멀티 윈도우 모드로 사용하는 경우 앱은 창 크기에만 액세스할 수 있습니다. 창 크기를 조절하면 새 창 크기로 구성 변경을 트리거하므로 시스템에서 적절한 레이아웃 파일을 선택할 수 있습니다. 따라서 선언하는 크기는 특히 활동에 필요한 크기와 관련된 것이어야 합니다. 시스템에서는 레이아웃용으로 제공하는 공간의 크기를 선언할 때 시스템 UI에 사용되는 공간을 고려합니다.

 

 

 


1. Pixel -> DIP

– 화면사이즈를 고정단위인 Pixel(px)에서 가상단위인 DIP으로 사용

– 응용 프로그램 코드에 하드 코딩된 Pixel 값으로 절대 사용하지 말 것

  (Do not use hard-coded pixel values in your application code)

– Density-independent pixel (DP or DIP) : UI 레이아웃을 정의할 때 밀도 독립적인 방식으로 레이아웃 크기 또는 위치를 표현하기 위해 사용해야 하는 가상 픽셀 단위

 

 

2. 절대위치 ->상대위치

– Do not use AbsoluteLayout

– AbsoluteLayout  : 절대 위치 사용시 높이가 다른 단말 화면에서는 원하는 위치에 표시 안될 수 있음

– You should instead use RelativeLayout, which uses relative positioning to lay out its child views.

 

 

 

 

728x90
반응형

'Android' 카테고리의 다른 글

Android wifi state Receiver  (0) 2022.10.25
Android Gradle ?? - Android 빌드시스템  (0) 2022.09.17
android 조이스틱  (0) 2022.03.25
(스크랩 ) android animation 종류  (0) 2022.03.02
AAC : navigation  (0) 2022.02.21