App의 레이아웃을 구성할 수 있는 다양한 뷰와 뷰 그룹이다.
원하는 뷰를 흰색 작업 창에 끌어 당겨 사용할 수 있다.
Common, Text, Buttons, Widgets, Layouts, Containers, Helpers, Google, Legacy 카테고리로 나뉘어져 있고 이 카테고리안에 있는 뷰를 다 조사해보록 하겠습니다.
안드로이드 스튜디오에서 자주 사용하는 뷰를 모아놓은 카테고리이다.
텍스트 관련된 뷰를 모아놓은 카테고리이다.
화면에 텍스트를 표시만 한다.
해당 뷰를 끌어당기면 아래 쪽에 밑줄이 생기는데 이 뷰를 사용하면 텍스트 키보드가 표시되며 텍스트를 입력할 수 있다.
텍스트를 입력할 수 있으며 텍스트를 입력하면 검은색 점 표시가 되어 다른 사람이 어떤 텍스트를 입력했는지 알 수 없어 비밀번호를 입력 할 때 사용한다.
Password 뷰와 기능은 같다. 다른점은 이 뷰는 숫자만 입력이 가능하다.
키보드 자판에서 하단쪽에 @
를 추가해서 이메일을 입력할 때 사용한다.
숫자만 입력할 수 있으며 전화번호를 입력할 때 사용된다. 키보드 자판 오른쪽에 -
를 사용할 수 있다.
우편번호를 사용할 때 사용되며 터치 시 화면에 키보드 자판이 표시된다.
여러 줄의 텍스트를 입력할 때 사용되며 키보드 자판에서 엔터
표시가 다른 자판과 다르다.
숫자 키보드가 표시되며 자판에 :
가 하단에 있어 시간을 입력할 때 사용한다.
숫자 키보드가 표시되며 자판에 /
가 하단에 있어 날짜를 입력할 때 사용한다.
숫자 키보드가 표시되며 부호를 입력할 수 없다. 오직 숫자만 입력할 때 사용한다.
숫자 키보드가 표시되며 음수,양수를 나타내기 위해 +
,-
맨 앞에만 사용할 수 있다.
숫자 키보드가 표시되며 소수점을 나타내기 위해 .
표시를 할 수 있다.
키보드 자판이 표시되며 사용자가 텍스틀 입력하면 단어에 대한 자동완성이 키보드 상단에 표시된다.
키보드 자판이 표시되며 쉼표로 구분해서 여러 단어를 자동완성하는 것이 가능하다.
체크박스를 제공하는 확장 TextViewMainActivity에서 setOnClickListner을 통해 체크 박스의 체크와 해체 속성을 부여할 수 있다.
텍스트를 입력하는 부분에서 레이아웃 속성을 설정할 수 있다.
버튼에 관련된 뷰를 모아놓은 카테고리
사용자가 터치하여 작업을 수행할 수 있다.
버튼에 이미지를 넣어 사용자가 이미지를 터치할 수 있다.
다수의 Chip를 보관히기 위해 사용된다.
타원형으로된 버튼이다.
선택과 선택 해제 할 수 있는 체크 박스 버튼이다.
다수의 RadioButton을 보관하기 위해 사용된다.
그룹내에서 하나의 RadioButton만 선택을 할 수 있다.
원형으로된 체크박스 버튼이다.
두가지 상태중 하나로 토글이 되도록 만든 버튼이다.
왼쪽,오른쪽 드래그하여 사용할 수 있으며 두 가지 옵션 중에 선택 할 수 있다.
버튼에 아이콘을 집어 넣어 버튼에 기능을 넣을 수 있다.
액티비티 내에서 뷰를 설정한다.
view의 공간안에 이미지를 넣을수 있다.
view의 속성을 상속받아 특정한 url를 화면에 표시한다.
view의 공간안에 동영상을 넣을 수 있다.
view의 공간안에 달력을 넣을 수 있다.
진행 상황을 나타낼 수 있는 로딩바이다.
진행 상황을 나타낼 수 있는 가로줄로 된 로딩바이다
진행 상황을 나타낼 수 있는 가로줄로 된 컴포넌트이다. 유튜브에서 동영상을 볼 때 동그란 점을 눌러 왼쪽,오른쪽 드래그해 시간대를 조절하는 기능을 한다.
진행 상황을 나타낼 수 있는 가로줄로 된 컴포넌트이다.Seekbar랑 다른점은 회색점을 눌러 그 구간으로 이동한다.
별표로 만족도롤 표시할 수 있는 컴포넌트이다.
돋보기 버튼을 누르면 키보드 자판이 올라오면서 텍스트를 입력할 수 있다.
비디오나 openGL 같은 콘텐츠를표시할 수 있다.
뷰를 상속받으며 그래프 처리가 빠른 View이다.하드웨어 가속이 가능하며 그래픽 처리가 빠르다.
화면을 수평으로 나누는 구분선을 그린다.
화면을 수직으로 나누는 구분선을 그린다.
레이아웃을 모아놓은 카테고리
View를 수평방향으로 배치한다.
View를 수직방향으로 배치한다.
여러개의 뷰 위젯들을 중첩하고, 그 중 하나를 전면에 표시할 때 사용하는 레이아웃이다.
여러 개의 뷰를 동일한 크기로 배치해야할 때 사용된다.
TableLayout에서 사용되며 행과 같음
공간을 차지하는 위젯이다.
아래 화살표를 터치해 여러개의 값중 1개를 선택 할 수 있다.
이미지 출처 : https://developer.android.com/guide/topics/ui/controls/spinner?hl=ko
대량의 데이터 세트를 효율적으로 표시할 수 있습니다. 개발자가 데이터를 제공하고 각 항목의 모양을 정의하면 RecyclerView 라이브러리가 필요할 때 요소를 동적으로 생성합니다.
이름에서 나오듯 개별 요소를 재활용하고 항목이 스크롤되어 화면에서 벗어나더라도 RecyclerView는 뷰를 제거하지 않는다.
수직으로 스크롤이 가능하다.
수평으로 스크롤이 가능하다.
한 화면에 여러개의 스크롤 사용
왼쪽,오른쪽,위쪽,아래쪽으로 스크롤이 가능하다 목록을 보여줄 때 사용된다.
둥근 모서리,배경과 그림자가 추가도니 카드 레이아웃 컴포넌트이다.
화면의 상단에서 기본으로 제공하는 ActionBar 이다.타이틀 문자열, 앱 아이콘 이미지, 메뉴 등을 구성할 수 있다.
네비게이션 메뉴와 다양한 옵션들을 하단에서 조작을 할 수 있다.
이미지 출처:https://medium.com/harrythegreat/android-bottom-appbar-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0-9071ec428138
왼쪽에서 오른쪽으로 밀면 메뉴를 표시할 수 있는 뷰이다.
이미지 출처:https://ovso.github.io/blog/2018/12/30/custom-navigationview/
사용자가 한번의 탭동작으로 최상위 화면의 전환 및 탐색시 사용할 수 있는 방법이다.
이미지 출처 :https://inbum.github.io/android/2019/05/17/android-bottomnavigationview-ripple/
기존의 AppBarLayout를 대체하는 View의 일종이다. 안드로이드 5.0 이후에 추가된 위젯으로 AppBarLayout보다 다양한 메뉴를 제공한다.
액션바 밑에 탭이 보여지며 탭에 따라 화면을 다르게 하는 컴포넌트이다.
이미지 출처:https://swalloow.tistory.com/80
TabLayout에 포함된 아이템을 의미한다.
ex)위에 출처 이미지에서는 ITEM ONE, ITEM TWO, ITEM THREE를 말한다.
ViewStub은 사이즈가 없는 보이지 않는 뷰로 런타임에서 늦은 전개(lazy-inflate)를 원할 때 사용한다.
<include>
레이아웃에 재사용 가능한 구성요소를 추가한다.
기존 Fragment를 위해 특별히 설계된 프래그먼트 전용 컨테이너이다.
Navigation 기능을 사용할 수 있도록 레이아웃 내에 영역을 제공한다.
<view>
다른 View들을 포함하고 있거나 포함할 수 있는 일반적인 View를 의미한다.
<requestFocus>
해당 뷰에 포커스를 줄 수가 있다.
ConstraintLayout에서 제공하는 helper 중 하나로 여러 뷰들의 visibility를 그룹으로 묶어 관리하기 편하게 해준다.
여러 위젯을 입력으로 참조하고, 가장 많은 위젯을 기반으로 가상 가이드 라인을 작성한다. 예를 들어, 왼쪽 장벽은 참조된 모든 뷰의 왼쪽에 정렬됩니다.
이미지출처: https://developer.android.com/reference/androidx/constraintlayout/widget/Barrier
Barrier를 수직으로 설정한다.
VirtualLayout. 2.0에 추가되었고 참조된 위젯을 체인과 유사하게 수평 또는 수직으로 배치할 수 있다.
가로축 방향으로 뷰의 위치를 잡는데 도움을 주는 유틸리지 클래스이다.오로지 ConstraintLayout내에서 다른 뷰들의 배치를 돕는 목적으로만 쓰인다.
세로축 방향으로 뷰의 위치를 잡는데 도움을 주는 유틸리지 클래스이다.오로지 ConstraintLayout내에서 다른 뷰들의 배치를 돕는 목적으로만 쓰인다.
레이어는 viewGroup에 포함된 것처럼 뷰 그룹을 이동하고 회전하는 기능을 추가한다.
이미지를 표시,결합 및 필터링을 할 수 있는 ImageView이다.다양한 공통 필터링 작업을 처리하는 ImageView의 하위 클래스이다.
이미지를 표시, 결합 및 필터링할 수 있는 AppCompatImageButton이다.다양한 공통 필터링 작업을 처리하기 위한 AppCompatImageButton의 하위 클래스입니다.
레이아웃을 프로토파이핑하는데 유용한 뷰이다.
구글 배너 광고를 보여주는 뷰이다.
GoogleMap 객체의 수명 주기를 관리하는 뷰이다.
즉 지도를 표시할 수 있습니다.
행과 열로 구성된 격자 모양의 표를 만드는 레이아웃 클래스이다.
사용자가 정의한 데이터 목록을 아이템 단위로 구성하여 화면에 출력하는 ViewGroup의 한 종류이다.
탭 버튼을 표시하는 TabWidget과, 각 탭의 선택에 따라 표시될 페이지 화면을 관리하는 클래스
상대 뷰의 위치를 기준으로 정렬하는 레이아웃 클래스이다.
이미지 출처:https://developer.android.com/guide/topics/ui/layout/relative?hl=ko
Grid형태로 아이템을 배치할 수 있다. 리스트뷰와 비슷하지만 여러 열로 마치 행렬과 같은 구조로 나열할 수 있다.
안드로이드를 공부하면서 팔레트를 사용하는 대신 코드를 쳐서 화면을 만들었는데 팔레트에 있는 걸 다 눌러보고 안드로이드 개발 문서 읽기, 구글링, 컴파일 하다보니 점심쯤 시작했는데 자정이 되었다.
이렇게 많이 있을 줄 몰랐다 😓
먼가 기초가 탄탄해져 뿌리가 튼튼해지는 느낌이다. 지금은 완벽하게 100프로 팔레트에 있는 내용을 알지 못하지만 나중에 내가 정리한 내용을 보면서 사용하면 이해하기 쉬울거 같다.
오늘은 일찍 자고 내일 Linear, Relative, Grid, Table, Frame, Constraint
레이아웃에 대해 공부해 정리 하도록 하겠습니다.