본문 바로가기
Kotlin

Kotlin - 앱 위젯 만들기

by 봄석 2019. 1. 5.

Kotlin -  앱 위젯 만들기

앱 위젯이란 런처에 배치하여 빠르게 앱 기능을 제공하는 컴포넌트 입니다. 


손전등 위젯 만들기

1) 앱 위젯 추가

2) 앱 위젯이 생성한 코드 살펴보기

3) 앱 위젯 레이아웃 수정

4) 앱 위젯에서 손전등 켜기

5) 앱 위젯 배치

6) 앱 위젯 사용하기




1. 앱 위젯 추가

프로젝트 창의 패키지명에서 우클릭 또는 안드로이드 스튜디오에서 

[File] -> [New] -> [Widget] ->[App Widget]



 항목 

 설명 

 Placement


 위젯을 어디에 배치하는지 설정합니다.

 - Home-screen only : 홈 화면에만 배치 가능 

 - Home-screen and Keyguard : 홈 화면과 잠금 배치화면에 배치 가능

 -Keyguard only(API 17+) : 잠금화면에만 배치 가능


 Resizable(API 12 +)


 위젯 크기를 변경하는지를 설정합니다.

 - Horizontally and vertically : 가로와 세로 크기변경가능

 - Only horizontally : 가로로만 크기 변경 가능

 - Only vertically :세로로만 크기 변경 가능

 - Not resizable : 크기 변경 불가


 Minimum Width (cells)

 가로 크기를 1~4 중 선택합니다 

 Minimum Height (cells)

 세로 크기를 1~4 중 선택합니다. 

 Configuration Screen 

 위젯의 환경 설정 액티비티를 설정합니다. 

 Source Language

 자바와 코틀린중 선택합니다. 



생성된 코드 살펴보기


- TorchAppWidget :  앱 위젯을 클릭할 때의 동작을 작성하는 곳입니다.

- torch_app_widget : 앱 위젯의 레이아웃을 정의한 파일입니다.

- dimens, dimens(v14) : 앱 위젯의 여백 값이 API 14 버전부터 바뀌었기 때문에 API 14 이상과 미만으로 여백값을 분기하고 있습니다.

- torch_app_widget_info : 앱 위젯의 각종 설정을 하는 파일입니다.




앱 위젯레이아웃에 배치하는 뷰 종류

앱 위젯에 배치하는 뷰는 정해져 있습니다. 

레이아웃으로는 4가지만 가능합니다 . 아직 ConstraintLayout은 지원되지 않습니다.

- FramLayout

- LinearLayout

- RelativeLayout

- GidLayout


앱위젯 레이아웃에 배치하는 뷰는 다음 12종만 가능합니다

- AnalogClock

- Button

- ImageButton

- ImageView

- ProgressBar

- TextView 

- viewFipper

- ListView

- GridView

- StackView

- AdapterViewFipper

'Kotlin' 카테고리의 다른 글

Kotlin - 체인모드(ContraintLayout)  (2) 2019.01.05
Kotlin - companion object  (2) 2019.01.05
Kotlin - 서비스( Service )  (2) 2019.01.05
Kotlin - 프래그먼트 생성  (0) 2019.01.05
Kotlin - 콘텐츠 프로바이더 사용하기  (0) 2019.01.04

댓글