layered

5. 텍스트뷰(TextView) 본문

안드로이드/안드로이드 앱 프로그래밍

5. 텍스트뷰(TextView)

스윗푸들 2023. 4. 13. 12:33

개념


상속 관계

화면에 글자를 보여주는 역할을 한다. 사실상 글자를 사용하는 모든 뷰들의 부모 클래스라고 할 수 있다.

글자는 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 기본 글자 입력
android:text="Hello World!"
android:text="@string/hello"
textSize 글자 크기
sp 단위 권장
(글꼴이나 크기 등 시스템 설정에 영향을 받음)
android:textSize="24sp"
textColor 글자 색상
#ARGB
 
textStyle 글자의 스타일 속성
normal, bold, italic, bolditalic
android:textStyle="bold|italic"
typeFace 글꼴
normal, sans, serif, monospace 등등
글꼴 추가 가능
android:typeFace="sans-serif"
maxLines 최대 줄 수 설정
넘어가는 부분은 표시되지 않음
android:maxLines="1"
gravity 글자 정렬(무게 중심을 지정하는 느낌!)
옵션이 다양함
android:gravity="bottom|right"
추가 중!    

 

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