티스토리 뷰

EditText를 사용하여 사용자로부터 값을 입력 받을 수 있는데, EditText를 이용 하는 경우 자동 포커싱 및 자동 키패드가 실행 됩니다.
굉장히 편리한 기능이지만  기능 및 디자인 이슈등이 이유로 해당 기능을 막을 필요가 생깁니다.
이번 포스팅에서 이러한 상황에서 자동 포커싱 및 키패드 실행을 막는 방법에 대해서 알아보도록 하겠습니다.


. EditText 자동 포커스 막기

자동 포커스를 막기 위해서는 XML상에서 EditText를 포함하는 상위 view에 아래의 속성을 추가하면 됩니다.
일반적으로 LinearLayout 안에 EditText를 사용 하실텐데, 여기에 코드를 작성하면 됩니다.


1
2
android:focusable="true"
android:focusableInTouchMode="true"
cs


예)

1
2
3
4
5
6
7
8
9
10
 <LinearLayout
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:focusable="true"
      android:focusableInTouchMode="true"
      >
 <EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"/>
   </LinearLayout>
cs


. EditText 자동 키패드 실행 막기

자동 키패드 실행을 막기 위해서는 AndroidManifest.xml에 해당 Activity 태그에 아래 속성을 추가 해주면 됩니다.


1
android:windowSoftInputMode="stateAlwaysHidden"
cs

예)AndroidManifest.xml에 MainActivity가 있는 경우

1
2
<activity android:name="com.kanzler.test.MainActivity" android:windowSoftInputMode="stateAlwaysHidden">
</activity>
cs


댓글