nueijeel
[Android] TextView와 EditText 본문
1. TextView
TextView는 문자열을 화면에 출력하는 뷰이다.
레이아웃 편집기에서는
Common > TextView 또는 Text > TextView 로 접근할 수 있다.
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
xml 코드로 작성하려면 <TextView> 태그를 써준다. 이때, layout_widthㅘ layout_height 속성이 자동으로 작성된다.
코틀린 파일에서 뷰에 접근할 때 뷰 바인딩을 이용하려면 textView 뿐만 아니라 사용하는 모두 뷰의 id 속성을 반드시 지정해야 한다.
TextView 속성
- text : TextView에 출력할 문자열
- textAppearance : text가 보여질 형식
- textSize : text의 크기
- textColor : text의 색상
TextView의 프로퍼티
- textView.text
: 텍스트뷰의 내용을 설정하거나 가져오는 데 사용하는 프로퍼티
//textView라는 ID의 TextView 위젯이 있다고 가정
//.text 프로퍼티로 텍스트뷰의 값 설정
val newTxt = "텍스트1"
textView.text = str
//.text 프로퍼티로 텍스트뷰의 값을 가져옴
val currentTxt = textView.text.toString()
TextView의 메서드
- textView.append()
: 텍스트 뷰의 기존 텍스트에 새로운 텍스트를 이어 붙이는 메서드
- textView.setText()
: 텍스트 뷰의 텍스트를 완전히 새로운 텍스트로 대치하는 메서드
//append 메서드
textView.append("Hello")
//setText 메서드
textView.setText("HelloWorld")
2. EditText
EditText는 사용자에게 문자열을 입력받을 수 있는 뷰이다.
레이아웃 편집기에서는 Text > Plain Text를 선택해 배치할 수 있고,
코드에서는 EditText 태그를 입력해 사용한다.
<EditText
android:layout_width=""
android:layout_height=""/>
EditText 속성
- text : 뷰에 표시할 문자열 설정. 위 실행 화면의 첫 번째 EditText에 text 속성으로 Name이 지정되어 있다.
- hint : 뷰에 입력된 값이 없을 때 보일 문자열 설정. 위 실행 화면의 두 번째 EditText에 hint 속성으로 password가 지정되어 있다.
- inputType : 입력 값에 대한 설정으로 키보드 모드를 지정
EditText 프로퍼티
- EditText.text
: 뷰에 입력된 문자열 값
val str = editText.text.toString()
EditText 이벤트
- editText.TextWatcher
: 위젯의 텍스트 변경 이벤트를 감지하고 처리하는 인터페이스
TextWatcher를 구현하면 세 가지 메서드를 오버라이딩 해 사용할 수 있다.
- beforeTextChanged() : 텍스트 변경 이전에 호출되는 메서드. 변경 전의 텍스트 상태와 텍스트 길이를 알려줌
- onTextChanged() : 텍스트 변경 중에 호출되는 메서드. 변경된 텍스트와 길이를 알려줌
- afterTextChanged() : 텍스트 변경 이후에 호출되는 메서드. 변경 후의 텍스트를 알려줌
- editText.EditorAction
: 위젯에서 사용자가 키보드의 특정 동작을 수행했을 때 이를 감지하고 처리하는 이벤트 리스너
'Android > 개념' 카테고리의 다른 글
[Android] ImageView (0) | 2023.06.20 |
---|---|
[Android] ScrollView (0) | 2023.06.15 |
[Android] Layout 종류와 특징 (0) | 2023.06.10 |
[Android] View Binding과 예제 (0) | 2023.06.07 |
[Android] 안드로이드 앱 구성 파일 (0) | 2023.06.07 |