기리's Android 이야기63 [Android/Kotlin] 안드로이드 Spinner 커스텀 해보기(1) 안녕하세요. 오늘은 지난 시간에 이어서 간단하게 Spinner 위젯을 커스텀해보도록 하겠습니다. UI적으로 사용하기가 너무 밋밋하다가 생각된다면 커스텀을 해보는것을 추천드립니다. 완성된 모습은 아래와 같습니다. 저번에 시간에 이어서 연도와 월을 나타내는 스피너의 디자인을 변경했습니다. (참고로 Drop Down Menu는 아직 변경되지 않았습니다.) ArrayAdapter를 활용한 Spinner 구현 참고: https://android-dev.tistory.com/35 STEP01. Spinner Background 만들기 아래와같이 Spinner의 배경을 만들어 줍니다. layer-list는 아이템을 중첩시킬때 사용합니다. [bg_spinner_year.xml] [bg_spinner_month.xml].. 2021. 1. 30. [Android Studio/Kotlin] 안드로이드 Live Template 사용하기 안녕하세요. 오늘은 안드로이드 스튜디오에서 Live Template 기능 대해서 알아보겠습니다. Live Template은 단축 키워드를 사용하여 Boilder Plate 코드를 쉽게 작성할 수 있게 도와주는 기능입니다. 간단한 사용예를 보여드리면 아래와 같습니다. Date 형식을 String 타입으로 변환하기 위해 아래와 같은 코드가 필요합니다. 이를 Live Template에 미리 등록해 놓으면 간단한 단축어로 편리하게 사용할 수 있습니다. 그럼 이제 Live Template을 추가하는 방법에 대해서 알아보겠습니다. STEP01. Settings > Edit > Code Style > LiveTemplate 이동 STEP02. Live Temple 등록하기 우측의 플러스 아이콘을 클릭하시면 아래와 같.. 2021. 1. 26. [Android/Kotlin] 안드로이드 ArrayAdapter를 활용한 Spinner 구현 오늘은 Spinner 위젯을 사용해서 아이템 리스트를 구현하고 사용자 선택하도록 하는 방법을 알아보겠습니다. Drop Down Menu라고 해서 Spinner를 클릭하면 아래로 메뉴 목록이 나타나고, 아이템을 클릭하면 어떠한 이벤트가 발생하도록 할 수 있습니다. 사용자가 연도와 월을 선택할 수 있는 화면을 만들어 보겠습니다. 완성된 모습은 아래와 같습니다. STEP01. 기본 레이아웃 만들기 [activity_main.xml] STEP02. Spinner 값 만들기 레이아웃에 스피너를 포함했지만 아직 스피너에 아무 값도 들어 있지 않은 상태입니다. 스피너에 값을 넣기 위해서 문자열 배열이 필요합니다. 여기에는 다음 두가지 방법으로 문자열 배열을 만들어 보도록 하겠습니다. 1) string-array 활용.. 2021. 1. 25. [Android/Kotlin] 안드로이드 뒤로가기 종료 방지하기 feat. onBackPressed() 뒤로가기 버튼을 눌렀을때 백스택이 없으면 앱이 종료됩니다. 하지만 사용자의 실수로 앱이 종료될 수 있기 때문에 일정 텀을 주는 것이 좋습니다. 그래서 "종료하시려면 뒤로가기 버튼을 한번 더 눌러주세요." 라는 토스트 메시지를 띄워주는 앱이 많습니다. 이러한 토스트 메시지를 띄워주는 방법에 대해서 알아보겠습니다. Step01. 변수선언 private var doubleBackToExit = false Step02. onBackPressed() override fun onBackPressed() { if (doubleBackToExit) { finishAffinity() } else { Toast.makeText(this, "종료하시려면 뒤로가기를 한번 더 눌러주세요.", Toast.LENGTH_SHORT).. 2021. 1. 23. [Android/Kotlin] 안드로이드 Single Click 구현하기 feat. 두번 클릭 방지... 오늘은 안드로이드를 개발 할 때 두 번 클릭되는 경우 이를 해결하는 방법에 대해서 알아보겠습니다. 가끔 RecyclerView 아이템을 빠르게 두번 클릭하면 새로운 Activity가 두개 열리는 경우가 있습니다. 또는 버튼을 빠르게 두번 클릭하면 해당 액션이 두번 발생 하기도 합니다. 이를 해결하기 위해서는 클릭할때 시간 제한을 두어야 합니다. 먼저 아래와 같이 OnSingleClickListener 파일을 하나 만들어 줍니다. 처음 클릭시 lastClickTime 변수에 시간을 할당해주고, 두번째 클릭 시 interval 시간보다 그 텀이 짧을 때는 return을 시켜줍니다. [OnSingleClickListner.kt] class OnSingleClickListener( private var inte.. 2021. 1. 22. [Android/Error] 안드로이드 Caused by: java.lang.NullPointerException: Missing required view with ID: ~~~~~ ViewBinding을 사용하는 중에 아래와 같은 에러가 발생했습니다. activity 레이아웃 파일에 include 레이아웃이 있었는데 ID가 달라서 발생했던 문제였습니다. 아래와 같이 Id를 iclude_drawer 같게 해주면 해결됩니다. [Activity Layout] [Include Layout] ... 2021. 1. 21. 이전 1 ··· 5 6 7 8 9 10 11 다음