layered
5. 텍스트뷰(TextView) 본문
개념

화면에 글자를 보여주는 역할을 한다. 사실상 글자를 사용하는 모든 뷰들의 부모 클래스라고 할 수 있다.
글자는 text 속성에 추가하면 되는데 다음과 같이 2가지의 방법이 있다.
1 직접 글자를 넣는다
하드코딩이라고도 하는데, 데이터가 코드에 그대로 드러나므로 그렇게 좋은 방법은 아니다.
특히 데이터를 변경할 때엔 해당 데이터가 작성된 부분을 일일이 다 고쳐야 하기 때문에 번거롭다.
android:text="Hello World!"
2 strings.xml에 정의한 문자열을 참조한다
기본적으로 XML 레이아웃 파일은 화면 전체 또는 일부를 어떻게 구성할지 정의하는 파일이다. 따라서 그 목적에 집중할 수 있도록 문자열 파일을 이용해 따로 구분해 주는 것이 좋다.
이 방법은 특히 다국어 지원에서 효율을 발휘하는데, 레이아웃 파일은 하나만 두고 각 언어별로 strings.xml 파일을 만들면 되므로 훨씬 체계적이고 직관적이다.
참고) 다국어를 지원할 때에는 폴더 이름을 values-ko, values-en과 같이 로케일 이름을 붙여서 지어 주어야 한다. 그래야 단말에 설정된 언어와 맞는 폴더에 접근할 수 있기 때문이다. 만약 폴더를 찾을 수 없다면 기본 폴더인 values의 strings.xml을 사용하게 된다.
/app/res/values에서 strings.xml 파일을 열어 보면 프로젝트명은 이미 정의되어 있는 걸 볼 수 있다.
여기에 원하는 문자열을 <string> 태그로 감싸서 적어 주면 된다.
<resources>
<string name="app_name">Sample</string>
<string name="hello">Hello World!</string> // 새롭게 정의
</resources>
android:text="@string/hello"
[@strings/이름]과 같이 사용하면 된다.
속성
속성 | 설명 | XML 예시 |
text | 기본 글자 입력 |
|
textSize | 글자 크기 sp 단위 권장 (글꼴이나 크기 등 시스템 설정에 영향을 받음) |
|
textColor | 글자 색상 #ARGB |
|
textStyle | 글자의 스타일 속성 normal, bold, italic, bolditalic |
|
typeFace | 글꼴 normal, sans, serif, monospace 등등 글꼴 추가 가능 |
|
maxLines | 최대 줄 수 설정 넘어가는 부분은 표시되지 않음 |
|
gravity | 글자 정렬(무게 중심을 지정하는 느낌!) 옵션이 다양함 |
|
추가 중! |
https://developer.android.com/reference/android/widget/TextView
TextView | Android Developers
developer.android.com
'안드로이드 > 안드로이드 앱 프로그래밍' 카테고리의 다른 글
7. 상대 레이아웃(RelativeLayout) (0) | 2023.04.13 |
---|---|
6. 위젯 (0) | 2023.04.13 |
3. 리니어 레이아웃(LinearLayout) (0) | 2023.04.13 |
2. 제약 레이아웃(ConstraintLayout) (0) | 2023.04.13 |
1. XML (0) | 2023.04.12 |