안드로이드/기본 위젯

텍스트뷰와 에디트텍스트의 다른 기능

kitty_cat 2023. 3. 13. 11:37

<커서 관련 속성>

에디트텍스트의  selectAllOnFouse 속성true로 설정하면 포서크를 받을 때 문자열 전체가 선택

커서를 보이지 않게 설정하려면 cursorVisible 속성false 값으로 설정

getSelectionStart 메서드 : 선택된 영역의 시작 위치를 알려줌 (선택 영역이 없으면 커서가 있는 현재 위치를 알려줌)

getSelectionEnd 메서드 : 끝 위치를 알려줌 (선택 영역이 없으면 커서가 있는 현재 위치를 알려줌)

setSelection 메서드 : 선택 영역을 지정하는 데 사용

extendSelection 메서드 : 선택 영역을 확장하는데 사용

selectAll 메서드 : 호출 시에 전체 문자열이 선택

public int getSelectionStart()
public int getSelectionEnd()
public void setSelection(int start, int stop)
public void setSelection(int index)
public void selectAll()
public void extendSelection(int index)

 

<자동 링크 관련 속성>

autoLink 속성을 true로 설정하면 문서에 포함되 웹페이지 주소나 이메일 주소를 링크 색상으로 표시하고 링크를 누르면 웹페이지에 바로 접속하거나 메일 편집기를 띄워주는 기능

 

<줄 간격 조정 관련 속성>

lineSpancingMultiplier는 줄 간격을 기본 줄 간격의 배수로 설정할 때

linespacingExtra는 여유 값으로 설정할 때

 

<대소문자 표시 관련 속성>

capitalize 속성을 이용하여 글자, 단어, 문장 단위로 대소문자를 조절할 수 있다.

characterws, words, sentences 등을 지정할 수 있음

 

<줄임 표시 관련 속성>

ellipsize 속성을 사용하면 입력한 내용의 생략 부분을 설정할 수 있음

none(뒷부분을 자름), start(앞부분), middle(중간부분), end(뒷부분)

텍스트를 한 줄료 표시할 때는 maxLines 속성

 

<힌트 표시 관련 속성>

어떤 내용을 입력하라고 안내문으로 알려주고 싶을 때 hint 속성

해당 속성의 글자 색상을 바꾸고 싶다면 textColorHint 속성에서 색상을 지정

 

<편집 가능 관련 속성>

editable 속성 값을 false로 설정하면, 입력되어 있는 문자열을 편집하지 못하게 함 (편집 가능은 true)

 

<문자열 변경 처리 관련 속성>

입력된 문자를 확인하거나 입력된 문자가 필요한 포맷과 맞는지 확인할 때에는 getText 메서드

해당 메서드가 리턴하는 것은 Editable 객체인데 이 객체의 toString 메서드를 이용하면 일반 String 타입의 문자열을 확인

public void addTextChangedListener(TextWatcher watcher)

해당 메서드는 텍스트가 변경될 때마다 발생하는 이벤트를 처리함

public void beforeTextChanged(CharSequence s, int start, int count, int after)
public void afterTextChanged (Editable s)
public void onTextChanged(CharSequence s, int start, int before, int count)

입력된 문자열의 길이 값을 확인할 때는 setFilters 메서드를 사용해서 InputFilter 객체를 파라미터로 전달하고 이 객체의 LengthFilter 메서드를 호출하면 입력될 문자열의 길이 값을 설정 할 수 있다.