ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 4.[Android]TextView ( ellipsize / lines / lineSpacingExtra )
    Android 2019. 8. 7. 10:48
    반응형

    Text를 작성하다 보면 원하는 Text 수보다 의도치 않게 많아져서 width가 넘어 가버리는 경우가 생긴다.

    이럴 때 사용할 수 있는 것이 ellipsize 속성이다.

    ellipsize 속성을 사용하면 원하는 위치에...으로 내용을 줄임 표시로 만들 수 있다.

    android:ellipsize="end" 맨 뒤에 ... 으로 표시
    android:ellipsize="marquee" 왼쪽으로 문자가 흘러가게 표시
    android:ellipsize="middle" 중간에 ... 으로 표시
    android:ellipsize="none" 맨 뒤를 ... 표시 없이 잘라줌
    android:ellipsize="start" 맨 앞에 ... 으로 표시

    end

    android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ellipsize="end"
            android:lines="2"
            android:maxLines="3"
            android:minLines="2"
            android:text="그들은 그림자는 반짝이는 가는 이것이다. 낙원을 영락과 것은 아니더면, 
            무엇을 인간은 것이다. 그러므로 위하여, 못하다 장식하는 품에 튼튼하며, 가는 풍부하게 그것은 말이다. 
            모래뿐일 들어 이상은 더운지라 피고, 하였으며, 반짝이는 인간이 그리하였는가?" />

     

    ellipsize를 쓸 때 반드시 같이 써줘야 하는 속성이 있다.

    위에 보면 lines과 maxLines 가 있는데  둘 중에 하나는 무조건 써줘야 ellipsize가 적용이  된다.

    maxLines의 차이점은 lines은 미리 줄의 수가 늘어나서 고정이 되어있는 고정적인 느낌이고

    maxLines는 상황에 맞춰 최대 줄의 수까지 늘어나는 유동적인 느낌이다.

    lines / maxLines

     

    android:maxLines="6"
    android:lines="6"

    왼쪽 lines 사진을 보면 크기가  6만큼 늘어나 있는 것을 볼 수 있고 

    오른쪽 maxLines를 보면 길이에 맞춰서 늘어나는 것을  볼 수 있다.

    두 속성 다 줄의 수를 제한하고 싶거나 android:singleLine 가 deprecated 되었기 때문에 한 줄로 표현하고 싶을 때도 사용한다.

     

    위에 문장을 보면 행간이 너무 붙어있는 느낌을 받을 수도 있다.

    android:lineSpacingExtra 행간을 조절해주는 속성이다.

     

    <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:maxLines="6"
            android:lineSpacingExtra="10dp"
            android:text="그들은 그림자는 반짝이는 가는 이것이다. 낙원을 영락과 것은 아니더면, 
            무엇을 인간은 것이다. 그러므로 위하여, 못하다 장식하는 품에 튼튼하며, 
            가는 풍부하게 그것은 말이다. 모래뿐일 들어 이상은 더운지라 피고, 하였으며, 반짝이는 인간이 그리하였는가?" />

    lineSpacingExtra을 사용하여 좀 더 보기 좋게 바뀐 것을 볼 수 있다.

    반응형

    댓글

Designed by Tistory.