반응형
안드로이드 editText 자동 focus 막기
- 레이아웃 클릭시 editText에 자동으로 focus가 가는 현상을 막아본다
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
EditText는 기본적으로 자동으로 포커스(Focus)가 주어진다.
그래서 EditText가 있는 창이 열리면 키보드가 자동으로 올라오게 된다.
애초에 키보드가 자동으로 올라오게 하고 싶으면 그냥 원래 그대로 사용하면 되는데
경우에 따라 자동 포커스를 막아야 할 때가 있다.
이 현상을 막으려면
xml 코드에 딱 2줄만 추가해주면 된다.
android:focusable="true"
android:focusableInTouchMode="true"
어디에 추가하느냐?
일반적으로는 상위 레이아웃에 추가한다.
아니면 다른 데 원하는 곳에 추가해도 된다.
예시
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:focusable="true"
android:focusableInTouchMode="true">
<EditText
android:id="@+id/et01"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
LinearLayout을 보면
마지막 부분에 두 줄이 더 추가되었다.
android:focusable="true"
android:focusableInTouchMode="true"
이 속성으로 인해 해당 화면이 나타날 때
포커스가 EditText가 아닌 LinearLayout으로 주어진다.
따라서 키보드가 자동으로 올라오는 것을 막을 수 있다.
반응형
'안드로이드(kotlin)' 카테고리의 다른 글
잠금 화면 위에 Activity 열기 - 안드로이드 13 대응 (0) | 2023.02.28 |
---|---|
안드로이드 WorkManager는 왜 필요하고 어디서 쓰면될까? (0) | 2023.02.18 |
안드로이드 OutOfMemoryError: Java heap space 오류 해결 방법 (0) | 2023.02.04 |
안드로이드 라이브러리 만들고 jitpack으로 배포하기 (0) | 2023.01.29 |
안드로이드13에서 Notification 권한 허가 받기 방법 및 변경점 (0) | 2023.01.14 |
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
댓글