안드로이드 에디트텍스트 속성 2. [autoText, capitalize, cursorVisible, digits] (Android EditText Attributes 2)

2016. 8. 25. 16:55


1. EditText 속성 (2)

EditText 속성 리스트 및 요약 설명을 확인하시려면 [안드로이드 에디트텍스트 속성] 페이지를 참고하시기 바랍니다.


EditText 속성에 대한 자세한 설명 및 예제를 확인하시려면, 아래 표에서 속성 이름을 클릭하시기 바랍니다.


속성 속성 속성 속성 속성
autoLink autoText breakStrategy bufferType capitalize
cursorVisible digits drawableBottom drawableEnd drawableLeft
drawablePadding drawableRight drawableStart drawableTint drawableTintMode
drawableTop editable editorExtras elegantTextHeight ellipsize
ems fontFamily fontFeatureSettings freezesText gravity
height hint hyphenationFrequency imeActionId imeActionLabel
imeOptions includeFontPadding inputMethod inputType letterSpacing
lineSpacingExtra lineSpacingMultiplier lines linksClickable marqueeRepeatLimit
maxEms maxHeight maxLength maxLines maxWidth
minEms minHeight minLines minWidth numeric
password phoneNumber privateImeOptions scrollHorizontally selectAllOnFocus
shadowColor shadowDx shadowDy shadowRadius singleLine
text textAllCaps textAppearance textColor textColorHighlight
textColorHint textColorLink textIsSelectable textScaleX textSize
textStyle typeface width

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


cursorVisible 속성에 false 값을 지정하면, 텍스트 입력 위치에 커서가 표시되지 않습니다.

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:cursorVisible="false"
        android:text="" />

텍스트뷰 속성 cursorVisible


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') 키를 포함한 다른 문자는 입력되지 않는 것을 확인할 수 있습니다.

텍스트뷰 속성 digits


만약 엔터('\n')키를 입력 가능하게 하려면, digits 속성에 "\n" 값을 추가로 지정하면 됩니다.

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:digits="ABCD\n"
        android:text="" />

텍스트뷰 속성 digits


3. 참고.


ANDROID 프로그래밍/EDITTEXT