안드로이드에서 텍스트가 길 경우 텍스트가 흐르게 하려면 ellipsize="marquee" 속성을 이용하는데 해당 속성을 이용하려면 해당 TextView가 Select되어있어야하고, SingleLine이 True로 설정되어있어야한다.
하지만 android:singleLine이 Deprecate되었다. android:maxLines를 이용하면 된다고는 하지만, maxLine을 입력하면 ellipsize="marquee"로 설정했을때 텍스트가 흐르지 않는다. 일단 아래 코드와 같이 텍스트뷰를 만든다.
<TextView
android:id="@+id/id1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scrollHorizontally="true"
android:ellipsize="marquee"
android:maxWidth="200dp"
android:layout_marginEnd="10dp"
android:textSize="25dp"/>
Deprecate되었을때는 해당 설정을 사용하려고할때 취소선이 그어져있는데 코드에서 SingleLine을 할때는 해당 취소선이 나오지않았다.
그래서 필자는 일단 코드에서 SetSingleLine()을 이용해 SingleLine을 설정하였다. -> 원래는 이것도 사용하지 않는게 좋지않을까 싶지만..
binding.id1.isSelected = true
binding.id1.setSingleLine() // 이름이 너무 길면 흐르도록 조정
'프로그래밍 > Android' 카테고리의 다른 글
[Android] 카카오맵 API 길찾기 (1) | 2022.09.29 |
---|---|
[Android] 커스텀 리스너(프래그먼트에서 액티비티로 데이터 전달) (0) | 2022.09.27 |
[Android] 카카오맵 API 현재위치 추적 (1) | 2022.09.26 |
[Android] 카카오맵 위도, 경도로 마커 찍기 (0) | 2022.09.23 |
[Android] 기본 버튼 색상이 이상할때.. (0) | 2022.09.23 |
댓글