본문 바로가기
개발

안드로이드 TextView 글자수 초과 시 말 줄임표 처리

by 마스터누누 2020. 6. 16.
728x90
반응형

말 줄임표

텍스트 뷰 영역이 제한적이라 모든 텍스트가 들어가지 않을때 말 줄임표를 사용한다. TextView에서는 ellipsize라는 속성을 제공해주므로 이를 이용해서 말줄임표 처리를 할 수 있다.

 

ellipsize는 다음값들을 지정할 수 있다.

- none : 말줄임 처리 없음

- start : 텍스트의 시작 부분 말줄임(...)

- middle : 텍스트의 중간 부분 말줄임(...)

- end : 텍스트의 끝 부분 말줄임(...)

- marquee : 흐르는 텍스트 처리

 

marquee에 대한 예제는 아래에 링크를 첨부한다.

https://new93helloworld.tistory.com/391

 

예제

<?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:id="@+id/text"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="20dp"
        android:ellipsize="none"
        android:text="구르는 골렘은 녹이 슬지 않는다 구르는 골렘은 녹이 슬지 않는다 구르는 골렘은 녹이 슬지 않는다"
        android:textSize="20sp" />

    <TextView
        android:id="@+id/text1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="20dp"
        android:ellipsize="none"
        android:singleLine="true"
        android:text="구르는 골렘은 녹이 슬지 않는다 구르는 골렘은 녹이 슬지 않는다 구르는 골렘은 녹이 슬지 않는다"
        android:textSize="20sp" />

    <TextView
        android:id="@+id/text2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="20dp"
        android:ellipsize="start"
        android:singleLine="true"
        android:text="구르는 골렘은 녹이 슬지 않는다 구르는 골렘은 녹이 슬지 않는다 구르는 골렘은 녹이 슬지 않는다"
        android:textSize="20sp" />

    <TextView
        android:id="@+id/text3"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="20dp"
        android:ellipsize="middle"
        android:singleLine="true"
        android:text="구르는 골렘은 녹이 슬지 않는다 구르는 골렘은 녹이 슬지 않는다 구르는 골렘은 녹이 슬지 않는다"
        android:textSize="20sp" />

    <TextView
        android:id="@+id/text4"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="20dp"
        android:ellipsize="end"
        android:singleLine="true"
        android:text="구르는 골렘은 녹이 슬지 않는다 구르는 골렘은 녹이 슬지 않는다 구르는 골렘은 녹이 슬지 않는다"
        android:textSize="20sp" />

</LinearLayout>

 

marquee는 제외한 ellipsize 예제 코드이다. 위의 코드에서 가장 중요한점은 ellipsize를 사용하여 말줄임 효과를 줄때는 singleLine을 true로 설정해야 한다는 것이다. 그렇지 않으면, 가장 위의 텍스트 뷰 처럼 말줄임 효과가 적용되지 않고 텍스트는 줄바꿈 될 것이다. 

 

 

 

 

 

결과

 

반응형

댓글