반응형
안드로이드 - 꼭 알아야 하는 View의 상속도와 기본 속성들
목차
- View의 상속도
- View의 기본속성들
- 뷰의 색상 및 이미지 관련
- 뷰의 기능 관련
- 뷰의 크기 관련
- 뷰의 여백 관련
1. View의 상속도
안드로이드에서 화면을 구성할 때 가장 흔하게 접하게 되는 TextView, ImageView, Button, EditText 그리고 ViewGroup까지 대부분의 위젯들은 아래 그림에서와 같이 직간접적으로 View 클래스를 상속받고 있습니다. 따라서 View 객체가 가지고 있는 기본적인 속성들에 대해서 알고 있으면 각 위젯을 사용할 때 많은 도움이 됩니다.
2. View의 기본속성들
View 클래스에 포함된 속성은 매우 많습니다. 따라서 여기서는 자주 사용되거나 알아둘만한 속성을 중심으로 소개하도록 하겠습니다.
1) 뷰의 색상 및 이미지 관련
- android:background : 배경에 사용될 색상이나 이미지를 지정할 수 있습니다.
- android:backgroundTint : 배경에 적용할 색조를 지정합니다.
- android:backgroundTintMode : backgroundTint를 적용하는데 사용되는 블렌딩 모드를 지정합니다.
- android:foreground : 전경에 사용될 색상이나 이미지를 지정할 수 있습니다.
- android:foregroundGravity : 전경의 위치 지정을 위한 중력방향을 지정합니다.
- android:foregroundTint : 전경에 적용할 색조를 지정합니다.
- android:foregroundTintMode : foregroundTint를 적용하는데 사용되는 블렌딩 모드를 지정합니다.
- android:alpha : 뷰의 투명도를 지정합니다. (0~1)
- android:clipToOutline : 뷰에 적용된 Outline을 따라 뷰의 컨텐츠를 잘라낼것인지를 지정합니다. (true or false)
- android:elevation : 뷰의 z깊이를 지정하여 그림자 효과를 나타냅니다.
2) 뷰의 기능관련
- android:id : 해당 뷰의 id를 지정합니다.
- android:tag : 뷰에 문자열을 포함하는 태그를 지정합니다.
- android:tooltipText : 해당뷰를 오래 누르고 있으면 툴팁으로 보여줄 텍스트를 지정합니다.
- android:visibility : 뷰의 visibility를 지정합니다. (visible, invisible, gone)
- android:focusable : 해당 뷰가 focus를 가질수 있는지 여부를 지정합니다.
- android:focusableInTouchMode : 해당 뷰가 터치모드에서 focus를 가질수 있는지 여부를 지정합니다.
- android:focusedByDefault : 해당 뷰가 focus를 받는 default 뷰로 지정합니다.
- android:onClick : 해당 뷰를 클릭했을 경우 클릭이벤트의 메소드 이름을 지정합니다.
- android:clickable : 클릭 이벤트에 반응할지 여부를 지정합니다. (true or false)
- android:longClickable : 롱클릭 이벤트에 반응할지 여부를 지정합니다.
- android:saveEnabled : 뷰 상태를 저장할 것인지를 지정합니다.
- android:soundEffectsEnabled : 클릭이나 터치와 같은 이벤트가 발생했을 때 사운드 효과를 사용할지 여부를 지정합니다.
- android:scrollX : 수평 방향 스크롤의 초기위치를 pixel 단위로 지정합니다.
- android:scrollY : 수직 방향 스크롤의 초기위치를 pixel 단위로 지정합니다.
3) 뷰의 크기 관련
- android:minHeight : 뷰의 최소 높이를 지정합니다.
- android:minWidth : 뷰의 최소 넓이를 지정합니다.
- android:rotation : 뷰를 지정한 각도만큼 회전시킵니다.
- android:rotationX : 뷰를 x축을 중심으로 지정한 각도만큼 회전시킵니다.
- android:rotationY : 뷰를 y축을 중심으로 지정한 각도만큼 회전시킵니다.
- android:scaleX : x축 방향으로 크기를 늘립니다.
- android:scaleY : y축 방향으로 크기를 늘립니다.
4) 뷰의 여백 관련
- android:padding : 뷰의 내부 여백을 지정합니다. (상하좌우 적용됨)
- android:paddingTop : 뷰의 위쪽방향 내부 여백을 지정합니다.
- android:paddingBottom : 뷰의 아래쪽방향 내부 여백을 지정합니다.
- android:paddingLeft : 뷰의 왼쪽방향 내부 여백을 지정합니다.
- android:paddingRight : 뷰의 오른쪽방향 내부 여백을 지정합니다.
- android:paddingStart : 뷰의 시작방향 내부 여백을 지정합니다.
- android:paddingEnd : 뷰의 끝방향 내부 여백을 지정합니다.
- android:paddingHorizontal : 뷰의 왼쪽과 오른쪽방향의 내부 여백을 지정합니다.
- android:paddingVertical : 뷰의 위쪽과 아래쪽방향의 내부 여백을 지정합니다.
- android:layout_margin : 뷰의 외부 여백을 지정합니다. (상하좌우 적용됨)
- android:layout_marginTop : 뷰의 위쪽방향 외부 여백을 지정합니다.
- android:layout_marginBottom : 뷰의 아래쪽방향 외부 여백을 지정합니다.
- android:layout_marginLeft : 뷰의 왼쪽방향 외부 여백을 지정합니다.
- android:layout_marginRight : 뷰의 오른쪽방향 외부 여백을 지정합니다.
- android:layout_marginStart : 뷰의 시작방향 외부 여백을 지정합니다.
- android:layout_marginEnd : 뷰의 끝방향 외부 여백을 지정합니다.
- android:layout_marginHorizontal : 뷰의 왼쪽과 오른쪽방향의 외부 여백을 지정합니다.
- android:layout_marginVertical : 뷰의 위쪽과 아래쪽방향의 외부 여백을 지정합니다.
cf) margin의 경우 View의 XML 속성에 정의되어 있지 않고 ViewGroup.MarginLayoutParams에 따로 정의되어 있으나 편의상 함께 정리하였습니다.
반응형
'IT 개발 > Android' 카테고리의 다른 글
[안드로이드] 4대 컴포넌트(component)의 특징 및 실행방법 (0) | 2022.09.15 |
---|---|
[안드로이드] TextView의 속성 정리 (텍스트뷰) (0) | 2022.09.02 |
[안드로이드] Virtual Helpers objects (Guideline, Barrier, Group, Placeholder) (0) | 2022.08.25 |
[안드로이드] ConstraintLayout 제약유형별 속성 및 사용방법 (0) | 2022.08.24 |
[안드로이드] FrameLayout 속성 및 사용방법 (0) | 2022.08.18 |