안드로이드/View
[Android] TextView 속성
도트7
2023. 1. 30. 18:53
[maxLines] 최대 라인 수 지정하기
기존 singleLine 속성이 deprecated 됨에 따라 maxLines 속성을 사용한다. 값으로 1을 주면 singleLine 속성을 지정한 것처럼 사용할 수 있다.
<TextView
android:layout_width="match_parent"
android:layout_height="50dp"
android:maxLines="1"
android:text="Hello world"/>
[ellipsize] 뷰에 표시된 텍스트에 생략 부호 "..." 넣기
텍스트 뷰에서 정해 놓은 라인 수 혹은 뷰의 크기를 초과할 경우 생략 표시를 추가하기 위해서는 ellipsize 속성을 사용한다. 사용할 수 있는 옵션은 start, middle, end, marquee, none 등이 있다. "..."이 표시되는 위치를 지정하는 값으로서 end를 사용하면 우리에게 가장 익숙한 "안녕하세요. 이 이야기는..."과 같이 문장의 끝 부분이 생략된다. 값의 이름이 직관적이기 때문에 end 이외 설명은 생략한다.
<TextView
android:layout_width="match_parent"
android:layout_height="50dp"
android:maxLines="1"
android:ellipsize="end"/>
[gravity] 뷰 내에서 텍스트 위치 지정하기
뷰 내에서 텍스트의 위치를 지정하려면 gravity 옵션을 사용한다. 기본값은 "start | top"으로 좌측 상단으로 되어 있으며 텍스트의 위치는 2가지 이상의 값을 조합해서 만들 수 있다. 예를 들어 텍스트를 뷰의 수직의 중간에 정렬하면서 우측으로 붙이고 싶다면 "end | center_vertical"을 사용할 수 있다. 논리 연산 기호인 OR의 문자 혹은 파이프 문자인 " | "를 사용하여 2개 이상의 값을 중첩한다.
참고로 덧붙이자면 right와 start, left와 end는 같은 값이며 파이프 문자로 두 개 이상의 값을 동시에 사용할 때 파이프라인 앞뒤로 공백을 넣어선 안된다.
속성에 사용할 수 있는 값
- top, bottom, start(right), end(left)
- center, center_vertical, center_horizontal
<TextView
android:layout_width="match_parent"
android:layout_height="50dp"
android:gravity="start|center_vertical"
android:text="Hello world"/>