Android 시스템은 키보드가 기기에 연결되거나 분리될 때마다 구성 변경을 트리거합니다. 분리형 키보드가 있는 대형 화면 기기에서 원활한 사용자 환경을 보장하고 사용자 생산성을 극대화하려면 앱에서 키보드 구성 변경사항을 효과적으로 관리해야 합니다.
키보드 변경 시 활동 재생성 방지
분리형 키보드가 연결되거나 분리될 때 활동이 다시 만들어지지 않도록 하려면 앱 매니페스트의 configChanges
속성에 키보드 관련 값을 추가하고 앱이 구성 변경을 리슨할 수 있도록 활동의 뷰 계층 구조에 뷰를 추가합니다.
1. configChanges
속성 선언
이미 관리된 구성 변경 목록에 keyboard|keyboardHidden
값을 추가하여 앱 매니페스트의 <activity>
요소를 업데이트합니다.
<activity
...
android:configChanges="...|keyboard|keyboardHidden">
2. 뷰 계층 구조에 빈 뷰 추가
새 뷰를 선언하고 뷰의 onConfigurationChanged()
메서드 내에 핸들러 코드를 추가합니다.
Kotlin
val v = object : View(this) { override fun onConfigurationChanged(newConfig: Configuration?) { super.onConfigurationChanged(newConfig) // Handler code here. } }
자바
View v = new View(this) { @Override protected void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); // Handler code here. } };
핵심사항
android:configChanges
: 앱 매니페스트의<activity>
요소의 속성입니다. 앱이 관리하는 구성 변경사항을 시스템에 알립니다.View#onConfigurationChanged()
: 새 앱 구성의 전파에 반응하는 메서드입니다.
결과
이제 앱이 실행 중인 활동을 다시 만들지 않고도 외부 키보드가 연결되거나 분리될 때 응답합니다.
이 가이드가 포함된 컬렉션
이 가이드는 더 광범위한 Android 개발 목표를 다루는 선별된 빠른 가이드 모음의 일부입니다.
![](https://developer.android.com/static/images/quick-guides/collection-illustration.png?hl=ko)
큰 화면에 최적화
앱이 태블릿, 폴더블, ChromeOS 기기에서 최적화된 사용자 환경을 지원하도록 설정합니다.
질문이나 의견이 있으신가요?
자주 묻는 질문(FAQ) 페이지로 이동하여 빠른 가이드를 알아보거나 문의하여 의견을 보내주세요.