유연한 레이아웃 만들기
ConstraintLayout 사용
다양한 화면 크기에 맞게 반응형 레이아웃을 만드는 가장 좋은 방법은 ConstraintLayout을
UI의 기본 레이아웃으로 사용하는 것입니다.
ConstraintLayout을 사용하면 레이아웃에 있는 다른 뷰와의 공간적 관계에 따라 각 뷰의 위치와 크기를 지정할 수 있습니다.
이러한 방식으로 화면 크기가 변경될 때 모든 뷰가 함께 이동하고 확장할 수 있습니다.
ConstraintLayout으로 모든 레이아웃 시나리오를 해결할 수는 없지만 어떤 레이아웃을 사용하든
하드 코딩 레이아웃 크기를 사용해서는 안 됩니다
(특히 동적으로 로드되는 목록에는 RecyclerView를 사용해야 함)
https://developer.android.com/training/constraint-layout?hl=ko
대체 레이아웃 만들기
스마트폰용으로 디자인한 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.
'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 |