티스토리 뷰

Android/UI

View & Viewgroup

parkho79 2019. 6. 26. 09:31
300x250
300x250



View

독립된 기능과 UI 를 가진 UI widget.

사용자의 touch or key event 에 반응한다.

화면을 구성하는 최소 단위.

 



View

Description

 TextView

TextView 는 사용자에게 텍스트를 표시하기 위해 사용한다.

완벽한 text 편집기이지만, 기본적으로 편집을 할 수 없고 보여지는 텍스트는 수정할 수 있다.

 EditText

EditText 는 사용자가 텍스트를 입력하기 위해 사용한다.

TextView 를 상속하고 있어 TextView 에서 제공하는 텍스트 출력 + 입력 기능을 제공한다.

 CheckBox

CheckBox 는 선택 or 해제 두 가지 상태를 제공하며 toggle 이 불가능한 on/off 스위치라고 말할 수 있다. 

여러가지 옵션 중 하나를 선택하는 경우에 많이 쓰인다.

 RadioButton & RadioGroup

RadioButton 은 RadioGroup 과 함께 쓰이는 경우가 많다.

RadioGroup 에서는 group 안의 RadioButton 을 하나 선택할 경우 나머지 RadioButton 은 선택이 해제된다.

즉, 한번에 하나만 선택할 수 있다는 뜻이다.

 Button

Button 은 사용자가 클릭하거나 누르는 행동으로 특정 action 을 실행하기 위해 사용한다.

Button 은 크게 text 기반 button 과 image 기반 button 으로 나눌 수 있다.

Image 기반의 button 은 text 와 image 를 모두 포함할 수 있고 ImageButton 이 별도로 존재한다.

 ImageButton

ImageButton 은 일반 Button 에 custom image 를 보여주기 위해 사용한다.

Image 는 xml 의 "src" 속성이나 code 상의 "setImageResource()" method 를 사용해 설정할 수 있다.

 ImageView

ImageView 는 image file 을 보여주기 위해 사용한다.

Image file 을  다양한 Android 단말의 화면 크기에 맞추기 위해서는 scaleType 을 잘 알아야 한다.

 DatePicker

Date Picker 는 날짜를 선택(년/월/일)하기 위해 사용한다.

Dialog 형태로 보기 원한다면 DatePickerDialog 를 사용하면 된다.

또한, 시간을 선택하려면 TimePicker 를 이용하면 된다.

 TimePicker

TimePicker 는 AM/PM or 24시간 형태의 시간을 선택하기 위해 사용한다.

Dialog 형태로 보기 원한다면 TimePickerDialog 를 사용하면 된다.

또한, 날짜를 선택하려면 DatePicker 를 이용하면 된다.

 Switch (On/Off)

Switch 는 선택 or 해제 두 가지 상태를 제공한다.

(비슷한 widget 으로 ToggleButton 이 있다.)

사용자에게 on/off 상태를 슬라이더로 표시해준다.

일반적으로 사운드, 블루투스, 와이파이 on/off 에 많이 쓰인다.

 ToggleButton (On/Off)

ToggleButton 은 선택 or 해제 두 가지 상태를 제공한다.

(비슷한 widget 으로 Switch 가 있다.)

사용자에게 on/off 상태를 light 로 표시해준다.

일반적으로 사운드, 블루투스, 와이파이 on/off 에 많이 쓰인다.

 ProgressBar

ProgressBar 는 수행중인 작업 상태를 표시하는데 사용된다.

기본적으로는 spinner 가 표시되지만 horizontal bar 로 변경할 수 있다.

또한, 진행률을 표시하지 않을 수도 있는데 작업량이 어느정도 인지 모를 경우 순환 에니메이션만 보이도록 할 수 있다.

 RatingBar

RatingBar 는 평점이나 점수 등을 매길 때 사용한다.

SeekBar 와 ProgressBar 를 상속받고 있으며 별표로 등급을 나타낸다.

반환값은 1.0, 2.5, 4.5 와 같은 floating 값이다.

 SeekBar

SeekBar 는 ProgressBar 를 상속받고 있으며 thumb(동그란 부분) 를 터치하여 좌우로 이동이 가능하다.

볼륨이나 밝기 조절 시 많이 쓰인다.

 CheckedTextView

CheckedTextView 는 TextView 를 상속받고 있으며 선택이 가능하다록 checkbox 를 함께 제공한다.

일반적으로 리스트 아이템에 선택(선택 or 해제) 기능이 필요한 경우 많이 쓰인다.

 Chronometer

Chronometer 는 TextView 를 상속받고 있는 간단한 타이머다.

Chronometer 에 표시되는 기본 형식은 MM:SS or H:MM:SS 이며 원하는 형식으로 설정할 수 있다.

 TextClock

TextClock 은 TextView 를 상속받고 있는 간단한 디지털 시계이다.

단, 시간은 설정할 수 없으므로 시간을 설정해야 한다면 TimePicker 를 써야한다.

 AutoCompleteTextView

EditText 와 비슷하지만 사용자가 입력 시 추천 단어가 리스트에 나오는 것이 다르다.

추천 단어 리스트는 드롭다운 메뉴로 나오며 사용자가 선택 시 선택 한 text 로 변경된다.

 MultiAutoCompleteTextView

MultiAutoCompleteTextView 는 AutoCompleteTextView 를 상속받아 동일하지만 CommaTokenizer 를 설정한다는 점에서 다르다.

AutoCompleteTextView 는 한 개의 단어만을 자동으로 완성시키지만, MultiAutoCompleteTextView 는 콤마로 구분된 여러개의 단어를 자동으로 완성시켜 준다.

 CalendarView

CalendarView 는 스크롤이 가능한 달력을 보여준다.

탭, 클릭 이벤트로 날짜를 선택 할 수 있으며 원하는 날짜로 달력을 스크롤 하고 찾을 수 있다.

 SearchView

SearchView 는 사용자가 검색어 입력 후 search provider 에게 검색을 요청할 수 있는 UI 를 제공한다.

검색어 추천 리스트나 검색 결과 리스트를 보여주고 사용자는 해당 리스트에서 원하는 item 을 선택할 수 있다.

 Scrollview & HorizontalScrollView

ScrollView & HorizontalScrollView 는 오직 하나의 view or view group 을 자식으로 가진다.

즉, 복잡한 layout 을 가진 경우 (여러 widget 으로 만들어진 layout) 는 view group (Linear layout, relative layout 등) 으로 감싸야 한다.



ViewGroup

여러개의 view 또는 view group 을 포함할 수 있는 컨테이너.

각 view group 은 자신만의 view 배치 정책이 존재한다.

 



ViewGroup

Description

 AbsoluteLayout

AbsoulteLayout 은 부모뷰의 좌측 상단을 기준으로 X, Y 축 절대 좌표를 이용하여 view 를 배치한다. 기본적으로 편집을 할 수 없고 보여지는 텍스트는 수정할 수 있다.

 FrameLayout

FrameLayout 은 부모뷰 영역내 gravity 를 이용하여 view 를 배치한다. 또한, view 를 겹쳐서 배치할 수 있는 view group 이다.

 LinearLayout

LinearLayout 은 view 를 수평 혹은 수직으로 배치한다.

 

 RelativeLayout

 

RelativeLayout 은 view 들을 서로 간의 상대적 위치에 따라 배치한다.



728x90

'Android > UI' 카테고리의 다른 글

CheckBox  (0) 2019.07.18
EditText  (0) 2019.07.15
TextView gravity  (0) 2019.07.09
TextView  (0) 2019.07.02
TextView 에 HTML 표현하기  (0) 2019.05.17
댓글