Android 공부 (2) - Palette 조사

김도현·2021년 11월 26일
0

android

목록 보기
2/3
post-thumbnail

Text

  • TextView (common) - 화면에 텍스트 표시

  • Plain Text - 터치 시 화면에 텍스트 키보드를 표시해 텍스트 입력 가능

  • Password - 텍스트 키보드를 표시하나 개인정보 보호를 위해 입력한 텍스트를 숨김

  • Password(Numeric) - 숫자 키보드를 표시하고 개인정보 보호를 위해 입력한 텍스트를 숨김

  • E-mail - 스페이스바의 왼쪽에 @가 표시된 텍스트 키보드 표시, 이메일을 입력할 때 사용

  • Phone - 숫자 키보드를 표시하며 전화번호 형식을 입력하기 쉽도록 '-'가 표시됨

  • Postal Address - 사용자가 우편번호 형식의 텍스트를 입력하기 쉽게 키보드 맨 윗줄에 길게 탭했을 때 숫자가 입력됨

  • Multiline Text - 텍스트 키보드를 표시하고, 새로운 줄을 추가하기 위해 enter 키를 추가 (사용자가 여러줄의 텍스트를 입력 가능)

  • Time - 숫자 키보드를 표시하고 시간을 입력할 때 사용 (":"가 키보드에 배치)

  • Date - 숫자 키보드를 표시하고 날짜를 입력할 때 사용 ("/"가 키보드에 배치)

  • Number - 숫자 키보드를 표시하고 숫자 입력시 사용됨. '-', ',' '.' 등의 부호가 입력되지 않음

  • Number(Signed) - 숫자 키보드를 표시하고 숫자 입력시 -,+ 부호는 입력 가능하지만 숫자를 입력하는 도중에는 '-'를 입력할 수 없고, 
    이외 에 ','와 '.'를 쓸 수 없음

  • Number(Deciaml) - 숫자 키보드를 표시하고 숫자 입력할 때 소수점을 나타내기 위해 '.'부호는 사용 가능하지만 '-'와 ','는 사용할 수 없음

  • AutoComplete TextView - 텍스트 키보드를 표시. 사용자가 텍스트를 입력하는 동안 자동 완성 제안 목록을 드롭다운으로 제시해 한 개의 단어를 입력, 그리고 사용자가 한 줄안에서 주어진 텍스트 수정가능

  • MultiAutoComplete TextView - 텍스트 키보드를 표시하고 사용자가 텍스트를 입력하는 동안 자동완성 제안 목록을 드롭다운으로 제시하고 콤마(,)로 구분해 여러 줄을 작성할 수 있다

  • CheckedTextView - 체크 박스를 제공
    mainActivity에서 setOnClickListner를 통해 체크박스의 체크와 해제 속성 부여가능

  • TextInputLayout - 텍스트를 입력한느 부분이 레이아웃 속성을 지니고 layout 속성을 설정하듯 속성 설정 가능

Buttons

  • Button (common) - 사용자가 터치하거나 클릭해 작업 수행,
    mainActivity에서 setOnClickListner를 통해 버튼을 누르면 어떤 작업을 할 것인지 설정 가능

  • ImageButton - 사용자가 터치할 수 있는 이미지가 들어간 버튼을 표시

  • ChipGroup - 다수의 Chip를 관리할 수 있는 컴포넌트

  • Chip - 워드, 카테고리, 요소, 타입 등을 포현할 때 사용하는 텍스트가 들어간 타원형의 버튼 표시. 필터링 설정이나 작은 텍스트를 보여주는 데 유용

  • CheckBox - 글씨 앞에 체크박스가 있는 컴포넌트

  • RadioGroup - 여러개의 RadioButton을 관리

  • RadioButton - 원형으로 된 체크박스를 표시함. 하나의 그룹 내에서 하나만 선택 가능하고, 하나를 선택하게 되면 그룹 내의 다른 선택지들은 자동으로 선택 해제됨

  • ToggleButton - 눌렀을 때 버튼 안의 텍스트가 바뀌는 버튼

  • Switch (common) - 왼쪽에 텍스트가 있는 스위치를 생성. 탭하거나 드래그하여 두 가지 옵션 중에 선택 가능

  • FloatingActionButton - UI 위에 떠있는 원 아이콘으로 특수 동작 기능을 넣을 수 있음(오른쪽 맨 밑)

Widgets

  • View - 액티비티 내에서 공간 설정
    뷰는 뷰를 포함할 수 있으며, 중첩 가능
    뷰 중에서 사용자 눈에 보이는 것을 위젯, 보이지 않는 것을 레이아웃이라 한다.

    View의 속성
    : View의 가장 자주 쓰이는 기본적인 속성에는 id, layout_width, layout_height, background, visibility, padding, layout_margin 등이 있다.

  • ImageView (common) - view의 속성을 상속받아 이미지를 화면에 표시

  • WebView - view의 속성을 상속받아 특정한 url과 연결한 화면 표시

  • VideoView - view의 속성을 상속받아 화면에 비디오 표시

  • CalendarView - view의 속성을 상속받아 화면에 달력 표시

  • ProgressBar - 진행상황을 나타내는 원형의 컴포넌트를 화면에 표시. 로딩창 구현

  • ProgressBar(Horizontal) - 진행 상황을 나타내는 가로줄의 컴포넌트

  • SeekBar - 진행 상황을 나타내는 가로줄의 컴포넌트이며, 드래그나 키보드 방향키를 통해 진행 수준 설정 가능

  • SeekBar(Discrete) - 진행 상황을 나타내는 가로줄의 컴포넌트이며, 드래그나 키보드 방향키를 통해 진행 수준 설정 가능. 가로로 놓여있는 점 위를 움직이며 조절할 수 있다는 것이 SeekBar과의 차이

  • RatingBar - 별표로 만족도나 점수를 표시할 수 있는 컴포넌트

  • SearchView - 사용자가 검색어를 입력할 수 있는 컴포넌트. 터치 시 표준적인 텍스트 키보드가 화면에 표시

  • TextureView - 비디오나 openGL과 같은 콘텐츠를 표시할 수 있는 컴포넌트

  • SurfaceView - View를 상속받는 클래스 컴포넌트로, 기존 View와는 다른 방식으로 화면을 그린다. View는 onDraw 메소드를 시스템에서 자동으로 호출해서 화면을 그리는 반면, SurfaceView는 시스템이 아닌 스레드를 이용해 강제로 그려서 원하는 시점에 바로 화면을 그릴 수 있다.
    따라서 SurfaceView는 애니메이션이나 동영상같이 연산처리가 많이 필요한 뷰를 위해 사용된다.

    위 그림처럼 자기영역 부분의 window를 뚫어서 자신이 보여지게끔하고 window와 view가 블렌딩되어 화면에 보여지게 됨

  • Horizontal Divider - 화면을 수평으로 나누는 구분선을 그림

  • Vertical Divider - 화면을 수직으로 나누는 구분선

Containers

  • Spinner - 여러개의 값 중 1개를 선택하기 위한 위젯

  • RecyclerView (common) - 사용자가 관리하는 많은 수의 데이터 집합을 개별 아이템 단위로 구성해 스크롤이 가능한 컨테이너에 여러 개의 뷰를 담아 화면에 출력하는 뷰그룹.
    (listview를 사용할 경우 100개의 item을 표시할 때 100개의 view객체를 일일히 다 생성)
    RecyclerView는 화면에 보여지는 일정 개수의 view 객체만 생성 후 스크롤을 할때마다 화면 밖으로 나간 view의 정보를 ViewHolder에 저장시켜놓고 해당 view 객체들을 재활용

  • ScrollView (common) - 위아래로 스크롤하는 기능, 하나의 위젯만 가능

  • HorizontalScrollView - 수평(좌우)로 스크롤하는 기능

  • NestedScrollView - 한 화면에 여러개의 스크롤을 사용할 때 사용, ScrollView 안에 RecyclerView를 넣어야 하는 경우에 자주 사용된다

  • ViewPager2 - RecyclerView를 기반하여 만들어진 컴포넌트. 좌우 스크롤과 상하 스크롤링 모두 가능

  • CardView - FrameLayout클래스를 확장. 둥근 모서리, 배경과 그림자가 추가된 FrameLayout

  • AppBarLayout - 현재 화면의 타이틀을 포함하고 현재 화면에서 사용자가 할 수 있는 다양한 action을 담고 있는 막대 모양의 뷰

  • BottomAppBar - 하단에 몇 가지의 주요한 동작을 담기 위한 컴포넌트

  • NavigationView - 왼쪽 상단에 위치하는 메뉴 버튼을 클릭하거나 손가락으로 화면 왼쪽을 스와이프하여 다른 화면으로 쉽게 이동할 수 있도록 하는 메뉴를 표시하는 뷰

  • BottomNavigationView - 앱의 탐색 모음을 하단에 배치해 사용자가 앱의 컨텐츠를 탐색하고 전환 가능하도록 하는 컴포넌트 (BottomAppBar와는 다르다)

  • Toolbar - 응용 프로그램 콘텐츠 내에서 사용하기 위한 표준 도구 모음. 기존의 ActionBar을 대체하는 view의 일종

  • TabLayout - 터치한 탭에 따라 보여주는 화면을 다르게 하는 컴포넌트. 주로 Tab 버튼이 위치한 TabLayout과 화면이 바뀌는 아래쪽의 FrameLayout으로 구성

  • TabItem - TabLayout 레이아웃 내에서 탭 항목을 선언할 수 있는 특수한 보기. TabLayout의 위의 사진에서 ITEM ONE, ITEM TWO, ITEM THREE가 TabItem이다.

  • ViewStub - 사이즈가 없는 보이지 않는 view를 의미. 안드로이드에서 레이아웃을 그릴 때 계층이 많거나, 많은 요소를 그려야할 경우 부하가 걸려 화면이 늦게 뜨는 현상이 발생할 수 있는데, 이를 방지하기 위해 사용하는 기능. ViewStub을 통해 레이아웃의 인플레이션 분리 가능. 자주 사용하지 않는 layout을 링크로 가지고 있다가 개발자가 명시할 때 실행

  • < include > - 레이아웃에 재사용 가능한 구성요소를 추가. 레이아웃을 작성할 때 동일한 기능을 가지는 레이아웃을 여러 Activity에 사용하는 경우가 발생하는데 이때 Activity마다 같은 형식의 레이아웃을 만드는 것이 아니라 이 속성을 이용해 하나의 레이아웃을 작성하고 사용할 Activity에 적용

  • FragmentContainerView (common) - 기존 Fragment를 위해 설계된 전용 컨테이너. Fragment는 Activity 내에서 화면 UI의 일부를 나타내 여러개의 Fragment를 조합해 Activity가 출력하는 한 화면의 UI를 표현할 수 있고, 하나의 Fragment를 다른 Activity에 재사용 할 수 있다

  • NavHostFragment - Navigation 기능을 사용할 수 있도록 레이아웃 내에 영역 제공

  • < view > - 다른 View들을 포함하고 있거나 포함할 수 있는 View를 의미한다

  • < requestFocus > - 해당 뷰에 포커스를 줄 수 있음

Helpers

  • Group - ConstraintLayout에서 제공하는 helper 중 하나로 여러 view들을 참조하여, 참조된 뷰들을 쉽게 관리할 수 있게 해줌

  • Barrier(Horizontal) - 가상장벽(가이드라인)을 만들어 해당 barrier에 연관된 view들이 크기와 위치가 barrier에 맞게 변경. 수평으로 설정

    위의 검은 선을 움직이면 양쪽 화면 크기 변함

  • Barrier(Vertical) - barrier을 수직으로 설정

  • Flow - ContraintLayout에서 LinearLayout처럼 동작하게 하는 Chain과 유사하게 수평 또는 수직으로 배치를 할 수 있게 해줌(css의 flexbox와 비슷한 형태)

  • Guideline(Horizontal) - 가로축 방향을 가진 가상의 뷰로 위치를 잡는데 도움이 되는 유틸리티 클래스. 오로지 ConstraintLayout 내에서 다른 뷰들의 배치를 돕는 목적으로만 사용. 부모 뷰의 특정 위치를 기준점으로 삼을 때 사용

  • Guideline(Vertical) - 세로축 방향을 가진 가상의 뷰로 뷰릐 위칠르 잡는데 도움이 되는 유틸리티 클래스.

  • Layer - 모형을 겹쳐서 한꺼번에 출력 가능

  • ImageFilterView - 이미지를 표시하며 색조, 명도, 색온도, 대비 등의 수정이 가능한 view. 모션의 시작과 끝에 원하는 이미지를 넣을 수 있음.

  • ImageFilterButton - 이미지를 표시하며 색조, 명도, 색온도, 대비 등의 수정이 가능한 버튼

  • MockView - 레이아웃을 프로토타입화하는데 유용한 보기. UI를 작성하는 동안 임시 모의 보기로 사용

Google

  • AdView - 화면에 구글의 배너 광고 표시

  • MapView - 화면에 구글 지도에서 데이터와 지도를 함께 표시

Legacy

  • GridLayout - 격자 무늬 형태의 레이아웃 표시. GridView는 수직 방향으로 View가 넘칠 경우 자동 스크롤이 가능하나, GridLayout은 자동 스크롤이 되지 않음. TableLayout은 분할된 column(가로)을 통합할 수 있지만 row(세로)는 통합이 불가능한 반면, GridLayout은 모두 통합 가능

  • ListView - ViewGroup으로부터 상속받은 Layout 클래스의 한 종류. 자식 View를 반복적으로 표시해야 하는 경우 유용

  • TabHost - 페이지 및 UI 전환시 자주 사용되는 요소. Tab 버튼을 표시하는 TabWidget과 함께 각 탭의 선택에 따라 표시될 페이지 화면을 TabHost 클래스가 관리. Tab 기능과 관련된 모든 내용을 포함하는 컨테이너 역할

  • RelativeLayout - 자식 View 위젯들이 서로 간의 상대적 배치 관계에 따라 화면에 표시될 위치가 결정되도록 만들어주는 레이아웃 클래스. 상대적인 위치를 지정.

  • GridView - ViewGroup으로부터 상속받은 Layout 클래스의 한 종류로, 격자 형태의 화면을 표시. 자식 View를 반복적으로 표시해야 하는 경우에 유용

출처
widget 조사
surfaceview

0개의 댓글