본문 바로가기
Android

[깡쌤의 안드로이드 프로그래밍 with 자바 - 2022 - 쌤즈] 정리 8 - TextView

by 들풀민들레 2022. 5. 9.

책의 모든 내용을 저자 직강으로 진행한 강의는 ssamz.com 에서 들으실 수 있습니다.

본 글은 [깡쌤의 안드로이드 프로그래밍 with 자바 - 2022 - 쌤즈] 의 내용을 발췌한 것입니다.
좀더 자세한 내용은 책 혹은 인강(www.ssamz.com)을 통해 확인해 주세요.

 

3.3.1. TextView

 

TextView는 앱을 개발할 때 가장 많이 사용하는 뷰로, TextView에 대입된 문자열을 화면에 출력합
니다. TextView의 속성 중 자주 이용하는 몇 가지를 살펴보겠습니다.


text
화면에 출력할 문자열을 지정하는 속성입니다. 레이아웃 XML 파일에 직접 문자열을 명시할 수도 있고,
문자열 리소스를 이용할 수도 있습니다.

  • android:text="hello world"
  • android:text="@string/hello"


textStyle
화면에 출력할 문자열 효과로 normal(default), bold, italic 중 하나를 입력하여 문자열을 굵은 글씨로
표현하거나 기울어진 이탤릭 형태로 표현할 수 있습니다.


textColor
화면에 출력할 문자열의 색상을 #FF0000처럼 16진수 RGB 포맷으로 지정할 때 사용합니다.


textSize
화면에 출력할 문자열의 폰트 크기를 지정할 때 사용합니다.


autoLink
TextView의 문자열을 분석해 문자열 내에 autoLink 값에 해당하는 URL 문자열이 포함되었으면, 이
URL 문자열 부분을 자동 링크 형태로 출력해줍니다. 또한, 개발자 코드에서 이벤트를 처리하지 않아도
자동으로 사용자 클릭이 있을 때 다양한 화면으로 연결해줍니다.

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:layout_width="match_parent"
	android:layout_height="match_parent"
	android:orientation="vertical">
	<TextView
		android:layout_width="match_parent"
		android:layout_height="wrap_content"
		android:text="가나다라 http://www.google.com 마바사 a@a.com 아자차카타 02-1234-5678"
		android:autoLink="web|email|phone"/>
</LinearLayout>

위의 화면에서 각각의 링크를 사용자가 클릭하면 자동으로 브라우저, 이메일 앱, 전화 앱이 실행됩니다.


maxLines
TextView에 긴 문자열을 대입하면 자동 개행하여 여러 줄로 출력되는데요. 만약 특정 줄만큼만
출력하려면 maxLines 속성으로 지정합니다.

 

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/long_text"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/long_text"
android:maxLines="3"/>

두 개의 TextView에 똑같이 긴 문자열을 출력한 예인데요. 모든 문자열이 출력되려면 6줄 정도가
필요합니다. 그런데 두 번째 TextView에는 maxLines 속성을 이용하여 최대 3줄까지만 출력되게
지정하였습니다.

 

결과 화면을 보면 첫 번째 TextView는 문자열을 모두 출력하였고, 두 번째 TextView는 3줄까지만
출력하였습니다. 이후 문자열은 출력되지 않습니다.


ellipsize
maxLines로 지정한 줄만큼만 출력할 수 있는데, 이때 줄임 표시(...)를 하고 싶은 때가 있습니다. 이
문자열 줄임 표시를 자동화하는 속성이 ellipsize입니다. 속성값으로 end, start, middle 등을 지정하여
전체 문자열의 어느 부분을 줄임 표시로 표현할지를 명시해줍니다. end로 지정하면 maxLines로
지정한 줄만큼만 출력되고 뒷부분에 줄임 표시(...)를 자동으로 추가해줍니다.

 

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/long_text"
android:ellipsize="end"
android:maxLines="3"
/>

두 번째와 세 번째 모두 maxLines로 3줄 출력을 명시한 예이며, 세 번째만 ellipsize="end"로
지정하여 테스트한 예입니다. 세 번째 TextView의 출력 문자열 맨 마지막 부분에 줄임 표시(...)가
자동으로 추가되었습니다.

 

책의 모든 내용을 저자 직강으로 진행한 강의는 ssamz.com 에서 들으실 수 있습니다.