JLOG
[안드로이드 스튜디오 강좌 #13] 기본 위젯 공부하기 : TextView 본문
! 목표
안드로이드에서 사용하는 기본 위젯인 TextView를 공부해보자
TextView
TextView는 화면에서 글자를 보여주는 역할을 한다.
TextView의 여러 속성에 대해서 살펴보자
1.TextView의 text 속성
지금까지는 Design, Text 탭을 이용해 TextView에 문자열을 입력했지만, strings.xml 파일에 문자열을 미리 작성한 이 값을 text 속성에 지정하는 방법을 더 권장한다.
여러 장점이 있는데, 하나 예를 들면 다국어 지원이 필요할 때 한국어, 영어, 중국어 버전의 XML 레이아웃을 생성하는 것보다 strings.xml을 언어별로 만드는 것이 훨씬 효율적이다.
-1. 실습
SampleWidget 프로젝트를 만들어 Hello World! 텍스트를 지운 빈 프로젝트를 생성하자
최상위 레이아웃을 LinearLayout(vertical)로 설정하자
/app/res/values 폴더 안에 들어 있는 strings.xml 파일을 열어
<resource> 태그 안에 <string> 태그를 이용해 원하는 문자열을 넣어보자.
<resources>
<string name="app_name">SampleWidget</string>
<string name="person_name">정선</string>
</resources>
이제 strings.xml에 입력했던 이름을 텍스트뷰에 나타내보자
activity_main.xml에 TextView를 추가하고
text창에 @string/person_name을 작성해보자
입력했던 문자열이 나타나는 것을 확인할 수 있다.
strings.xml에 정의된 문자열은 반드시 text 속성에서 반드시 @string/.. 형식으로 참조해야 되는 것을 염두하자
*참고*
다국어 지원하는 방법
/app/res 폴더 안에 values-(지원언어)/ 이름의 폴더를 생성해주면 된다.
values-en/ (영어지원), values-ko/ (한국어지원)의 두가지 폴더를 만들고 그 안에 strings.xml 파일을 넣어두면 된다.
단말의 설정 상태가 한국어라면 해당하는 values-ko/ 폴더 안의 strings.xml 파일이 적용된다.
이런 각각 해당하는 언어 폴더 안에 있는 strings.xml을 로케일이라고 한다.
2.TextView의 textColor 속성
textColor 속성은 텍스트뷰에서 표시하는 문자열의 색상을 설정한다.
'#AARRGGBB' 포맷을 사용한다. (A:alpha(투명도)/R:red/G:green/B:blue)
각 자리에는 16진수(0~f)가 들어갈 수 있다.
ex) 투명한 초록색 (#0000ff00) / 투명하지 않은 빨간색 (#ffff0000) / 반투명한 파란색(#880000ff)
3.텍스트뷰의 textSize 속성
textSize 속성은 텍스트뷰에서 표시하는 문자열의 크기를 설정한다.
"dp", "sp", "px" 등이 사용될 수 있다.
"sp" 단위가 권장된다.
"sp"를 사용하면, 단말의 해상도에 따라 글자의 크기를 일정하게 보일 수 있게 하고, 폰트를 변경했을 때 해당 폰트에도 반영이 된다.
4. textStyle
textStyle 속성은 텍스트뷰에서 표시하는 문자열의 스타일 속성을 설정한다.
"normal", "bold", "italic"등의 값을 지정할 수 있고, '|' 기호를 사용하면 여러값을 지정할 수도 있다.
5. typeFace
typeFace 속성은 텍스트뷰에서 표시하는 문자열의 폰트를 설정한다.
일반적으로 "normal", "sans", "serif", "monospace" 중에 지정할 수 있다.
만약 다른 폰트가 필요하다면 폰트를 앱에 추가하고 그 폰트를 지정할 수도 있다.
6.maxLines
maxLines 속성은 텍스트뷰에서 표시하는 문자열의 최대 줄 수를 설정한다.
만약 한줄로만 표시하고 싶다면 값을 "1"로 설정하면 된다.
-2~6실습
지금까지 TextView의 속성들을 살펴보았는데 직접 적용해보자
새로운 TextView를 만들어보자
디자인 창의 Attribute 창이나, xml 코드를 이용해서 설정해보자.
text 속성에는 "사용자 이름을 입력하세요. 이름은 한 줄로 표시됩니다."
textColor 속성에는 "#ff00880f"
textSize 속성에는 "30sp"
textStyle 속성에는 "bold|italic"
typeFace 속성에는 "serif"
maxLines 속성에는 "1" (한줄) 로 설정해보자.
Attribute 창을 이용해 설정한다면 검색을 해서 쉽게 찾을 수 있다.
maxLines를 설정하기 전에는 2줄이었는데, maxLines를 설정한 후 1줄로 변경이 된 것을 확인할 수 있다.
-해당 TextView의 XML 코드
<TextView
android:id="@+id/textView2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxLines="1"
android:text="사용자 이름을 입력하세요. 이름은 한 줄로 표시됩니다"
android:textColor="#ff00880f"
android:textSize="30sp"
android:textStyle="bold|italic"
android:typeface="serif" />
## 이 글은 허락을 받아 Do it 안드로이드 앱 프로그래밍을 참고해서 작성되었습니다.
도서에는 더 자세하고 알기 쉽게 설명이 되어 있어 도서를 참고하면서 공부하는 것을 추천드립니다.
'안드로이드 스튜디오 > Do it 안드로이드 스튜디오' 카테고리의 다른 글
[안드로이드 스튜디오 강좌 #13] 기본 위젯 공부하기 : EditText (0) | 2020.05.09 |
---|---|
[안드로이드 스튜디오 강좌 #13] 기본 위젯 공부하기 : Button (0) | 2020.05.08 |
[안드로이드 스튜디오 예제 #1] SMS 입력화면 만들고 글자의 수 표시하기(Frame Layout) (0) | 2020.05.06 |
[안드로이드 스튜디오 강좌 #12] 프레임 레이아웃(Frame Layout) (1) | 2020.05.05 |
[안드로이드 스튜디오 강좌 #11] 테이블 레이아웃(Table Layout) (0) | 2020.05.03 |