안드로이드 에디트텍스트 속성 3. [editorExtras, hint, textColorHint] (Android EditText Attributes 3)

2016. 10. 4. 14:46


1. EditText 속성

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 텍스트 입력기(IME)에 추가 데이터 제공. (editorExtras)

"editorExtras" 속성은 텍스트 입력기(IME)에 추가적인 데이터를 제공하고자 할 때 사용하는 속성입니다. editorExtras 속성을 통해 제공되는 데이터는 텍스트 입력기(IME)의 구현에 국한된(private) 내용을 포함합니다.

  * android:editorExtras - 텍스트 입력기(IME)에 추가 데이터 제공.
        > <input-extras> XML을 포함하는 리소스에 대한 참조.

editorExtras 속성을 통해 텍스트 입력기(IME)에 데이터를 전달하기 위해서는 먼저 "<input-extras>"를 정의한 리소스 XML 파일을 생성한 다음, 해당 리소스 ID를 editorExtras에 지정하면 됩니다.

    /res/xml/myextra.xml
    <input-extras>
        ...
    </input-extras>
    EditText
    <EditText
        ...
        ...
        android:editorExtras="@xml/myextra" />

editorExtras 속성에 지정된 데이터는, EditText에 텍스트 입력기(IME)가 연결되는 시점에서 EditorInfo.extras 필드로 채워집니다. (EditorInfo.extras는 Bundle 타입 변수입니다.)

2.2 EditText가 비었을(empty) 때 출력될 텍스트 설정하기. (hint, textColorHint)

EditText에 텍스트가 하나도 입력되지 않은 상태(empty)일 때, EditText에 입력될 텍스트 값에 대한 설명 등을 나타낼 텍스트를 표시할 수 있습니다. 이를 위해 "hint" 속성을 사용합니다. 만약 EditText가 비어 있고(empty) hint 텍스트가 표시되고 있는 상태에서, EditText에 텍스트가 입력되면 hint 속성에 지정된 텍스트는 사라지고, 사용자가 입력한 텍스트가 표시됩니다.

  * android:hint - TextView의 텍스트가 빈(empty) 상태일 때, 출력될 텍스트 설정.
        > 문자열 지정.
    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:hint="Input your name"
        android:text="" />

hint 속성 예제 화면


텍스트 입력 중, 텍스트 입력기에 의해 모든 텍스트가 삭제되어 TextView가 다시 빈(empty) 상태가 되면, hint에 속성에 지정한 텍스트가 다시 표시됩니다.



hint 속성에 의해 표시되는 텍스트의 색상을 지정하기 위해서는 "textColorHint" 속성에 색상 값을 지정할 수 있습니다.

  * android:textColorHint - hint로 표시될 텍스트 색상 지정.
        > 컬러 값 지정. (#rgb, #argb, #rrggbb, #aarrggbb 등의 형식)
    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:hint="Input your name"
        android:textColorHint="#FF0000"
        android:text="" />

textColorHint 속성 예제 화면


3. 참고.

.END.


ANDROID 프로그래밍/EDITTEXT