알 수없는 최대 높이를 가진 TextView
이 있는데, 이는 장치의 DPI/화면 해상도에 따라 다릅니다. 예를 들어, on 및 MDPI 장치의 경우이 최대 높이를 사용하면 한 번에 2 줄만 표시 할 수 있습니다.이 값은 정의되지 않은 숫자까지 증가 할 수 있습니다.임의의 최대 높이를 가진 여러 줄 TextView에 대해 엘립 스크린이 제대로 작동하지 않습니다.
내 문제는 줄임표 기능과 관련이 있습니다. 어떤 장치가 4 줄을 표시 할 수 있다고 가정 해 봅시다. 수동으로 최대 줄 수를 설정하면 ...
<TextView
android:id="@+id/some_id"
android:layout_width="fill_parent"
android:layout_height="0dip"
android:ellipsize="end"
android:maxLines="4"
android:singleLine="false"
android:layout_weight="1"
android:gravity="center_vertical"
android:text="This is some really really really really really long text"
android:textSize="15sp" />
... 모두 정상적으로 작동합니다. ,
This is some
really really
really really
really long...
하지만 오히려 정적 변수로 줄 수를 설정하지 것 : 텍스트가 제대로 맞지 않는 경우, 줄임표는 다음과 같이, 네 번째 줄의 끝에 추가됩니다 DPI/화면 해상도의 조합에 대한 지원을 포함하기를 원합니다. 나는 약간 TextView
크기를 늘리면
This is some
really really
really really
really long
, 나는 텍스트의 나머지는 여전히 볼 수 있습니다 : 나는 maxLines
을 제거한다면 생략은 더 이상 제대로 대신 텍스트의 불완전한 부분을 보여 줄 사에 표시되지 않습니다 다른 뒤에 "그려진"Views
. 변수 maxHeight
설정이 작동하지 않는 것 같습니다.
정말이 문제에 대한 해결책을 찾을 수 없습니다. 어떤 아이디어? 도움이된다면 Android v4.0.3 이상 (API 레벨 15)에서만 작업하고 있습니다.
완벽하게 작동합니다. 고마워요! – DPR
신기한! 나의 날을 구했다! – Roman
참고 : 선 높이가 다를 수 있습니다! 그리고 getLineHeight 메서드는 항상 예상대로 작동하지 않습니다. 예를 들어 spannables를 사용하여 텍스트의 특정 부분에서 글꼴 크기를 크게 만들 때 발생할 수 있습니다. –