IT/Android
[Android]EditText 사용 시 자동 포커스(Auto Focus)막기 및 키패드 자동 실행 막기
Kanzler
2017. 9. 15. 16:56
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 |