본문 바로가기
안드로이드(kotlin)

안드로이드 코틀린 editText 자동 focus 막기

by 기계공학 주인장 2023. 2. 14.
반응형

안드로이드 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으로 주어진다.

 

따라서 키보드가 자동으로 올라오는 것을 막을 수 있다.

반응형


"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."


댓글