안드로이드 에디트텍스트 속성 2. [autoText, capitalize, cursorVisible, digits] (Android EditText Attributes 2)
1. EditText 속성 (2)
EditText 속성 리스트 및 요약 설명을 확인하시려면 [안드로이드 에디트텍스트 속성] 페이지를 참고하시기 바랍니다.
EditText 속성에 대한 자세한 설명 및 예제를 확인하시려면, 아래 표에서 속성 이름을 클릭하시기 바랍니다.
2. EditText 속성 활용
2.1 자동 오타 수정 기능 사용하기. (autoText)
텍스트 입력 시, 자동 오타 수정 기능을 사용하려면 "autoText" 속성을 사용합니다.
* android:autoText - 텍스트 입력 시 자동 오타 수정을 사용할 지 여부 지정.
> true 또는 false(기본 값) 지정.
> 일반적인 철자 범위 내에서 오타 수정 기능 제공.
> deprecated in API level 3
> inputType 속성으로 대체.
하지만 해당 속성은 API level 3에서 deprecated 되었으며, 대신, 자동 오타 수정 기능은 "inputType" 속성을 통하여 제공되고 있습니다.
inputType="textAutoCorrect"
inputType에 대한 자세한 사용법은 [안드로이드 에디트텍스트 속성 5. [inputMethod, inputType]]에서 확인할 수 있습니다.
2.2 소문자 입력 시, 대문자로 자동 변경하기. (capitalize)
텍스트 입력 시, 알파벳이 소문자로 입력되는 경우 대문자로 자동 변경하는 옵션을 제공할 수 있습니다. 이 때, "capitalize" 속성을 사용합니다.
* android:capitalize - 알파벳 소문자 입력 시 대문자 자동 변환.
> none, sentences, words, characters 값 사용 가능.
> 기본 값은 none.
-. none (0) : 자동 대문자 변환 사용 안함.
-. sentences (1) : 각 문장의 첫 번째 단어를 대문자로 변환.
-. words (2) : 각 단어의 첫 번째 글자를 대문자로 변환.
-. characters (3) : 모든 글자를 대문자로 변환.
> deprecated in API level 3
> inputType 속성으로 대체.
capitalize 속성 또한 API level 3에서 deprecated 되었습니다. autoText와 마찬가지로 "inputType" 속성을 대신 사용할 수 있습니다.
capitalize 속성 값 | 대체된 inputType 속성 값 |
---|---|
none (0) | inputType 사용 안함 또는 inputType="text" |
sentences (1) | inputType="textCapSentences" |
words (2) | inputType="textCapWords" |
characters (3) | inputType="textCapCharacters" |
inputType에 대한 자세한 사용법은 [안드로이드 에디트텍스트 속성 5. [inputMethod, inputType]]에서 확인할 수 있습니다.
2.3 커서 감추기. (cursorVisible)
"cursorVisible" 속성을 사용하면 입력 커서를 보이거나 감출 수 있습니다.
* android:cursorVisible - 커서를 보일지 말지 여부 지정.
> true 또는 false 값 지정 (기본 값 true).
cursorVisible을 지정하지 않으면 기본 값으로 true가 적용되며, 텍스트 입력 위치에 커서가 표시됩니다.
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="" />
cursorVisible 속성에 false 값을 지정하면, 텍스트 입력 위치에 커서가 표시되지 않습니다.
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:cursorVisible="false"
android:text="" />
2.4 입력 가능한 문자 타입 제한하기. (digits)
기본적으로 EditText에는 안드로이드 시스템이 지원하는 모든 문자가 입력될 수 있습니다. 하지만 여러가지 이유(미사용 문자 입력 방지, 오타 방지 등)로 인해 사용자가 EditText에 입력할 수 있는 문자(digit)를 제한하도록 만들 수 있습니다. 바로 "digits" 속성을 사용하여 입력 가능한 문자를 직접 지정하는 것입니다.
* android:digits - EditText에 입력될 수 있는 문자 지정.
> 문자열 값을 지정.
> escape character는 '\x'를 사용. (예. '\\n')
> unicode character는 '\uxxxx'를 사용.
아래의 예제는 대문자 A,B,C,D 만 입력받도록 만드는 소스입니다.
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:digits="ABCD" />
예제 코드를 작성하고 실행하면 대문자 A,B,C,D만 정상적으로 입력되고, 엔터('\n') 키를 포함한 다른 문자는 입력되지 않는 것을 확인할 수 있습니다.
만약 엔터('\n')키를 입력 가능하게 하려면, digits 속성에 "\n" 값을 추가로 지정하면 됩니다.
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:digits="ABCD\n"
android:text="" />
3. 참고.
- 안드로이드 에디트 텍스트 속성 개요
- [안드로이드 에디트텍스트 속성] 내용을 참고하세요.
- TextView 속성에 대한 자세한 도움말.
- [안드로이드 개발 참조문서 TextView 항목] 내용을 참고하세요.
- R.attr에 대한 도움말.
- [안드로이드 개발 참조문서. R.attr 항목]의 내용을 참고하세요.
- EditText 자세한 도움말.
- [안드로이드 개발 참조문서 EditText 항목] 내용을 참고하세요.