관련 문서: 스케치웨어/로직
1. 레이아웃 위젯
1.1. Linear(H)
수평배치 레이아웃.
내부 위젯을 수평으로 배치 가능하다.
1.2. Linear(V)
수직배치 레이아웃.
내부 위젯을 수직으로 배치 가능하다.
1.3. Scroll(H)
가로 스크롤뷰.
내부 위젯이 가로로 길어 화면을 벗어날경우 스크롤을 해서 짤린 부분을 볼 수 있다.
그러나 내부에 한개의 위젯만 배치 가능해서 수직, 수평 레이아웃중 한개를 넣은후 그안에 넣어서 사용해야한다.[1]
1.4. Scroll(V)
세로 스크롤뷰.
내부 위젯이 세로로 길어 화면을 벗어날경우 스크롤을 해서 짤린 부분을 볼 수 있다.
그러나 마찬가지로 내부에 한개의 위젯만 배치 가능해서 수직, 수평 레이아웃중 한개를 넣은후 그안에 넣어서 사용해야한다.
2. 일반 위젯
2.1. TextView
텍스트뷰는 말그대로 텍스트를 표시 해주는 위젯이다.
텍스트의 색, 스타일, 크기등 조절이 가능하며, 버튼과 같이 앱 내에서 매우 많이 사용된다.
관련 이벤트:
onClick: 텍스트뷰 터치시 작동.
2.2. EditText
에딧 텍스트는 텍스트를 편집 할 수 있는 위젯이다.
빈칸을 눌러서 직접 텍스트입력이 가능하다.
관련 이벤트:
onClick: 에딧 텍스트 터치시 작동.[2]
onTextChanged: 에딧 텍스트의 텍스트가 변경될때 마다 작동.
2.3. Button
클릭 이벤트를 처리함.
관련 이벤트:
onClick: 버튼 터치시 작동.
2.4. ImageView
이미지뷰는 앱 내에서 이미지(사진)을 보여줄때 사용하는 위젯이며 gif확장자는 재생 되지 않는다.[3]
관련 이벤트:
onClick: 이미지뷰 터치시 작동.
2.5. CheckBox
체크박스는 터치시 체크/해제 두개의 상태가 번갈아 가면서 표시된다. 보통 일정등에쓴다.
관련 이벤트:
onClick: 체크박스 터치시 실행
onCheckedChange: 체크박스 상태 변경시 실행.
2.6. Spinner
여러 목록을 다이얼로그로 보여주고 선택할 수 있는 위젯. 모드는 드롭다운과 다이얼로그 모드가있다.
관련 이벤트:
onItemSelected: 스피너의 아이템이 선택되면 실행.
2.7. ListView
여러항목을 리스트로 보여주며 선택할 수 있다.
또한 커스텀 리스트뷰도 만들수 있다.[4][5]
관련 이벤트:
onItemClicked: 아이템 터치시 작동.
onItemLongClicked: 이이템 길게 터치시 작동.
2.8. WebView
웹페이지의 모습을 보여주는 위젯이다.
그러나 다운로드 등을 활성화/비활성화 하기 위해서는 따로 Java코드를 추가 해야한다.
관련 이벤트:
onPageStarted: 페이지 로드 시작시 작동.
onPageFinished: 페이지 로드 완료시 작동.
2.9. Switch
켜고 끌수 있는 위젯이다. 보통 설정창에서 볼 수 있다.
관련이벤트:
onClicked: 터치시 작동.
onCheckChanged: 상태 변경시 작동.
2.10. SeekBar
시크바는 사용자가 썸네일 부분을 잡고 슬라이드 해서 값을 조정할 수 있는 위젯이다. 최소값과 최대값을 지정할 수있다.
관련 이벤트:
onProgressChnged: 프로그래스 값이 변경될 시 작동.
onStartTrackingTouch: 썸네일이 움직일시 작동.
onStopTrackingTouch: 썸네일이 멈출시 작동.
2.11. CalendarView
캘린더뷰는 달력을 보여주며 날짜를ms(밀리초, 1/1000초)단위로 지정 가능하다[6]. 0ms는 1970년1월1일이다. 설정하지 않을시 오늘의 날짜로 이동한다.
관련 이벤트:
onDateChanged: 날짜 변경시 작동.
2.12. AdView
애드뷰는 구글의 애드몹을 이용하여 앱 내부에 광고를넣고, 수익을 창출할 수 있다. 단 프리미엄구매를 해야 추가가 가능하다.
관련 이벤트:
onAdOpened: 광고가 열리면 작동.
onAdClosed: 광고가 닫히면 작동.
onAdLoaded: 광고가 로드되면 작동.
onAdFailed: 광고 로드에 실패하면 작동
2.13. MapView
맵뷰는 구글의 지도를 이용하여 앱 내부에 지도를 넣는다.
[1]
위젯하나만 넣을 수 있다.
[2]
글자 입력하고 있는 중에도 작동한다.
[3]
이건
안드로이드 스튜디오 등에서도 나타나며, 재생 하려면 Glide같은 라이브러리를 써야 한다.
[4]
커스텀 리스트뷰 강좌
[5]
커스텀 리스트뷰 내부에서는 에딧 텍스트가 작동하지 않는다.
[6]
다만 밀리초로만 지정할 수 있어 매우 복잡하다.