Programming/Android

[UMC 3rd/Android] 대표적인 View들의 역할 및 속성

코딩뽀시래기 2022. 9. 28. 17:25
728x90

[ ✨View ]

 

1. TextView

- 텍스트를 표시한다.

 

▶ 속성

- text: 내용

- textStyle: 문자열의 스타일 (예: normal, bold, italic)

- typeFace: 문자열의 폰트 (예: normal, sans, serif)

- textColor: 문자열의 색상

- textSize: 문자열의 크기 (단위: dp, sp, px)

- maxLines: 문자열의 최대 줄 수. 넘어가는 부분은 표시되지 않음.

- ellipsize: maxLines와 같이 사용함. 문장이 잘리면 ...를 붙여줌. end는 뒤, start는 앞, middle은 중간.

- autoLink: text 속성에 적힌 문자열에 autoLink에 넣어준 종류(예: web, email, phone)의 링크가 존재한다면, 하이퍼링크처럼 누를 수 있게 변경됨.

 

2. Button

- 사용자가 탭 또는 클릭하여 작업을 수행할 수 있도록 함

- TextView를 상속하기 때문에 TextView에 사용되는 대부분의 속성을 그대로 사용 가능

 

▶ 속성

- text: 내용

- drawableLeft: 아이콘

- onClick: 클릭 이벤트 핸들러 정의(레이아웃을 호스팅하는 Activity에 구현된 메서드)

- style: 버튼 스타일

 

3. ImageView

- 이미지 리소스(예: Bitmap, Drawable 리소스)를 표시

- 일반적으로, 이미지에 색조를 적용하고 이미지 크기 조정을 처리

 

▶ 속성

- src: 화면에 표현할 이미지 설정(경로)

- maxWidth, maxHeight: 화면에 출력되는 이미지 최대 크기. 이미지 비율을 지켜주지는 않음

- adjustViewBounds: 크기를 변경할 때, 이 속성을 true로 설정하면 가로세로 비율을 유지함

- tint: 이미지에 색 필터를 입힘

- scaleType: ImageView 크기를 고정했을 때, 이미지 크기에 따라 이미지가 잘리거나, 작게 표시되는 등의 설정

 

4. ScrollView

- 그 안에 배치된 요소들을 스크롤할 수 있도록 함.

- ScrollView는 자식을 하나만 가짐

 

▶ 속성

- scrollbars: 스크롤바 유무

- overScrollMode: 스크롤을 넘어서 움직일 때 어떻게 처리할 것인지

- fillViewport: ScrollView 안에 layout이 꽉차지 않을 때, 해당 속성을 true로 주면 꽉 차게 됨.

- scrollbarStyle: 스타일 지정 (예: insideOverlay, insideInset)

 

5. RecyclerView

- 대량의 데이터 세트를 효율적으로 표시할 수 있음.

- ListView와 달리 항목이 스크롤되어 화면에서 벗어나더라도 View를 제거하지 않고 재사용함.

- View의 재사용으로 앱의 응답성을 개선하고, 전력 소모를 줄여 성능을 개선

 

▶ 속성

- overScrollMode: 스크롤을 끝까지 내렸을 때 나타나는 효과

- clipToPadding: 상하 스크롤시 상하 패딩값 유무 (false: 패딩 대신 아이템의 공간으로 활용)

 

6. FragmentContainerView

- Activity에서 Fragment를 호스팅하는 데 사용

 

7. Switch

- 두 가지 옵션 중 하나를 선택할 수 있는 Toggle Switch

 

▶ 속성

- showText: text가 보일지 말지를 결정

- thumbTextPadding: Switch Caption과 Thumb 사이의 간격

- switchMinWidth: 스위치의 최소 너비

- switchPadding: Switch Caption과 스위치 사이의 간격

- switchAppearance: on/off Text의 스타일 지정

- textOff: off 상태일 때 표시될 텍스트

- textOn: on 상태일 때 표시될 텍스트

- textStyle: 텍스트 스타일

- thumb: 사용자 드래그를 통해 on/off 설정이 가능하도록 하는 thumb 모양

- thumbTint: thumb 색상

 

8. ImageButton

- Image로 이루어진 버튼

- 속성은 ImageView와 유사

 

9. ChipGroup & Chip

- 키워드, 카테고리, 요소, 타입 등을 표현할 때 타원형의 Background에 텍스트를 표현하곤 하는데, 이를 구현할 수 있는 것.

- ChipGroup은 다수의 Chip을 관리함.

 

▶ Chip 속성

- chipMinHeight: Chip 버튼의 높이

- chipStartPadding&chipEndPadding: 각각 Chip 버튼의 좌우 패딩값

- chipStrokeWidth&chipStrokeColor: 각각 테두리의 굵기와 색상

- chipBackgroundColor: Chip 버튼의 배경색

 

▶ ChipGroup 속성

- chipSpacingHorizontal: Chip 버튼 간의 Horizontal 거리 설정

- singleSelection: true 값을 주면, Group 내에 포함된 Chip 중 하나만을 선택할 수 있게 함.

 

10. CheckBox

- 클릭 이벤트에따라 선택됨, 선택되지 않음의 상태를 표시

 

▶ 속성

- text: 내용

- onClick: 클릭 이벤트 핸들러 정의(레이아웃을 호스팅하는 Activity에 구현된 메서드)

 

11. RadioGroup & RadioButton

- 여러 옵션 중 한 가지 옵션을 선택할 수 있도록 함.

- RadioGroup은 RadioButton들을 그룹화함.

 

▶ 속성

- text: 내용

- onClick: 클릭 이벤트 핸들러 정의(레이아웃을 호스팅하는 Activity에 구현된 메서드)

- orientation: horizontal 또는 vertical로 정렬

 

12. FloatingActionButton

- 화면에 떠있는 원형의 버튼

- 기본적으로 ImageView를 상속받기 때문에, 버튼에 표현할 아이콘 지정 가능

 

▶ 속성

- srcCompat: Icon 지정

- backgroundTint: 버튼의 색상 지정

- fabSize: 사이즈 (예: auto, mini, normal)

- onClick: 클릭 이벤트 처리를 위한 핸들러(레이아웃을 호스팅하는 Activity에 구현된 메서드)

 

13. WebView

- 웹페이지를 보여줌

 

▶ 속성

- focusable

- focusableInTouchMode: 항시 포커스를 가져가서, 사용자가 어떤 입력을 했든 먼저 반응하게 함.

 

14. ProgressBar

- 어떤 작업이 수행될 때, 작업의 진행 상태를 시각적으로 보여줌

 

▶ 속성

- max: 값의 최대 범위

- progress: 현재 진행 값

 

15. SeekBar

- 범위 내에서 값을 선택할 수 있는 막대 형태의 뷰 (음향, 밝기 조절 등에 이용)

 

▶ 속성

- max: 최대값 설정

- thumb: 기본으로 선택되는 값

 

16. Spinner

- 갑 집합에서 하나의 값을 선택할 수 있음.

▶ 속성

- spinnerMode: 스피너에 설정된 문자열을 어떻게 보여줄지 지정. dropdown: 문자열이 위에서 아래로 펼쳐짐. dialog: 문자열이 화면 중앙에 보임.

- popupBackground: 리스트가 보이는 화면의 배경색

 

17. HorizontalScrollView

- 수평 스크롤뷰

- 내부에 한 개의 뷰만 넣을 수 있음.

 

▶ 속성

- fillViewport: 스크롤뷰가 viewport를 채우기 위해 콘텐츠를 늘려야 하는지 여부

 

18. NestedScrollView

- ScrollView와 같지만 중첩 스크롤 부모와 자식 역할을 지원

- ScrollView 안에 recyclerview를 사용하면 스크롤을 내릴 때 recyclerview의 내용이 다 스크롤 되어야 전체 화면을 스크롤할 수 있는데, 이런 문제를 해결하고자 할 때 NestedScrollView를 사용함

728x90