10월, 2022의 게시물 표시

Android Hint text with image

이미지
사용 언어: Kotlin 1.7.20 사용 버전: Android Studio Dolphin 2021.3.1 ​ 안드로이드 Hint text with image를 알아보겠습니다. 아래처럼 사용자 입력을 받는 칸에 이미지와 함께 힌트를 표시할 수 있습니다. 하지만 우리가 해보려고 하면, 일반적으로 안드로이드 EditText에는 글자로만 힌트를 줄 수 있습니다.  xml에서는 android:hint로 해당 항목을 적습니다. 그런데 글자밖에 들어가지 않군요. 힌트에 돋보기 모양을 넣으면 더 멋질 거 같은데요. 글자와 이미지를 같이 사용하려면 어떻게 해야 하는지 확인해 봅시다. ​ 안드로이드에서는 ImageSpan이라는 것을 제공해 줍니다. https://developer.android.com/reference/android/text/style/ImageSpan SpannableString()으로 Span을 사용할 수 있는 글자를 만듭니다. ​ 이 글자에 setSpan을 통해서 조작을 할 수 있게 합니다. 글자로 만들 Drawable을 ImageSpan을 통해서 Span으로 만듭니다. 글자를 이미지로 바꿀 위치를 start와 end에 적습니다. flag 위치에 들어가는 SPAN_COMPOSING 등의 설명은 아래 사이트에 있습니다. 이미지를 글자로 변경하는 경우는 flag의 영향을 잘 받지 않는 것 같습니다. 아무 flag나 적어 줘도 됩니다. https://developer.android.com/reference/android/text/Spanned 실행해 봅시다. 짜잔. 힌트 영역에 돋보기와 ...

Android Show soft keyboard

이미지
사용 언어: Kotlin 1.7.20 사용 버전: Android Studio Dolphin 2021.3.1 ​ 안드로이드 Show soft keyboard를 알아보겠습니다. 일반적으로 soft keyboard는 사용자가 입력하는 공간을 눌렀을 때 나타납니다. 이번 시간에 다룰 내용은 사용자가 누르는 것이 아닌, 프로그램으로 키보드를 보이게 만들 겁니다. ​ ​ InputMethodManager가 필요합니다. requireActivity().getSystemService(context.INPUT_METHOD_SERVICE) as InputMethodManager를 사용하여 InputMethodManager를 불러옵니다. showSoftInput()을 사용하여 키보드를 불러옵니다. 괄호 안에는 키보드를 불러올 View와 flags를 적어줍니다. 저는 EditText와 숫자 1을 적었습니다. 만약 키보드가 나타나지 않는다면, 위에 210 번째 줄처럼 requestFocus()로 텍스트 입력 칸을 활성화시켜주는 과정이 필요합니다. 끝. 카테고리: Android

Android UI interaction with soft keyboard

이미지
사용 언어: Kotlin 1.7.20 사용 버전: Android Studio Dolphin 2021.3.1 ​ 안드로이드 UI interaction with soft keyboard를 알아보겠습니다. ​ 안드로이드에서는 글자 입력 칸을 눌렀을 때, 보이는 키보드를 소프트 키보드라고 부릅니다. 이 소프트 키보드가 보이게 되면, 어쩔 수 없이 화면이 가려지게 됩니다. 이 가려지는 것을 설정할 수 있습니다. UI를 덮을 건지, UI 밑에 붙을 건지 등 상호 작용이 가능합니다. 소프트 키보드와 UI의 상호 작용을 알아봅시다. ​ 적용할 수 있는 값들은 아래 사이트에서 확인 가능합니다. https://developer.android.com/guide/topics/manifest/activity-element#wsoft Activity에 적용하는 것이라면 AndroidManifest.xml에서 간단하게 적용할 수 있습니다. ​ 68 번째 줄처럼, android:windowSoftInputMode를 사용합니다. 하나하나 살펴봅시다. ​ stateUnspecified 실행 시, 보여줄지 숨길지 정하지 않은 상태입니다. 앱을 만들 때 기본으로 설정됩니다. UI는 키보드가 올라간 만큼 같이 올라갑니다. stateUnchanged 실행 시, 보이는 상태였으면 계속 보이게, 안 보이는 상태였으면 계속 안 보이게 합니다. UI는 키보드가 올라간 만큼 올라갑니다. stateHidden 실행 시, 키보드를 숨깁니다. UI는 키보드가 올라간 만큼 올라갑니다. stateAlwaysHidden 실행 시, 키보드를 숨...

Android Disable drag at BottomSheet

이미지
사용 언어: Kotlin 1.7.20 사용 버전: Android Studio Dolphin 2021.3.1 ​ 안드로이드 Disable drag at BottomSheet를 알아보겠습니다. ​ BottomSheet는 기본적으로 사용자가 아래로 끌어내려서 사라지게 만들 수 있습니다. 이 기능을 비활성화해서 사라지지 않게 만들 겁니다. ​ 아래는 기본 동작 화면입니다. BottomSheetBehavior을 사용합니다. BottomSheetBehavior.from()을 사용하여 가져올 BottomSheet의 BottomSheetBehavior를 불러옵니다. 여기에 isDraggable을 false로 설정하면 됩니다. 실행해 봅시다. 끝. 카테고리: Android