android xml에는 뷰에 사용할 수 있는 다양한 속성이 있다.
1. 높이 너비
// 뷰의 높이 및 너비
android:layout_width="200dp" // 객체의 width를 200dp로 설정
android:layout_height="100dp" // 객체의 height를 100dp로 설정
android:layout_width="match_parent" // 객체의 width를 부모의 크기만큼 설정
android:layout_height="match_parent" // 객체의 height를 부모의 크기만큼 설정
android:layout_width="wrap_content" // 객체의 width를 컨텐츠의 크기만큼 설정
android:layout_height="wrap_content" // 객체의 height를 컨텐츠의 크기만큼 설정
2. 패딩과 마진
// 패딩
android:paddingTop="30dp"
android:paddingBottom="30dp"
android:paddingRight="30dp"
android:paddingLeft="30dp"
android:padding="30dp"
// 마진
android:layout_marginTop="30dp"
android:layout_marginBottom="30dp"
android:layout_marginRight="30dp"
android:layout_marginLeft="30dp"
3. gravity, layout_gravity
gravity는 중력(?)이라는 개념을 이용해서 뷰를 정렬하는 개념인데, layout_gravity와 다소 차이가 있다.
gravity는 이 속성을 사용한 뷰의 자식 뷰를 정렬하고 싶을 때 사용하고,
layout_gravity는 이 속성을 사용한 뷰 자체를 정렬하고 싶을 때 사용한다.
자식을 정렬하고 싶으면 gravity, 나 자신을 정렬하고 싶으면 layout_gravity를 사용한다.
android:gravity="start" // 왼쪽부터 정렬
android:gravity="end" //오른쪽부터 정렬
android:gravity="top" //위에서 부터 정렬
android:gravity="bottom" //아래에서 부터 정렬
android:gravity="center" // 중앙정렬
android:gravity="center_vertical" //세로축 기준 중앙정렬
android:gravity="center_horizontal" /가로축 기준 중앙정렬
// 혼합하고 싶을 때
android:gravity="end|center_vertical" //오른쪽 정렬 + 세로축 기준 중앙정렬(세시방향)
속성값은 gravity와 layout_gravity가 동일
gravity 속성이 잘 안들을 때에는 width나 height 가 wrap_content로 되어있는지 확인하자.
android:layout_width="fill_parent"
android:layout_height="fill_parent"
기준이 잡히지않아서 생기는 문제이기 때문에 gravity 속성을 적용하려는 뷰의 속성을 fill_parent로 고쳐준다.
또 부모 뷰가 LinearLayout 인데 정렬 속성이 horizon 이면
자식 뷰의 layout_ gravity 는 left나 right는 적용 불가하다.
반대로 LinearLayout 의 정렬 속성이 vertical 이면
자식뷰의 layout_gravity 는 top, bottom 적용이 불가하다.
참고 블로그는 다음과 같음
'frontend > mobile' 카테고리의 다른 글
[android / xml] 안드로이드 홈스크린위젯 꾸미기 - 이미지 넣기, 그라데이션적용, drawable resource file 적용 (0) | 2023.10.28 |
---|---|
[android / xml] 안드로이드 홈스크린위젯 꾸미기 - 레이아웃 (2) | 2023.10.26 |
[android / Kotlin] flutter 에서 home screen widget 만들기 (0) | 2023.10.25 |
[flutter] Dynatrace pakage 세팅하기 (1) | 2023.10.07 |
[flutter] device 정보 가져오기, 화면크기 가져오기 (0) | 2023.10.06 |