Android : TextView는 자동으로 자르고 마지막 3 문자열을 교체합니다.

StackOverflow https://stackoverflow.com/questions/1666736

  •  13-09-2019
  •  | 
  •  

문제

만약 String 보다 길다 TextView너비는 다음 줄로 자동으로 감습니다. 사용하여 이것을 피할 수 있습니다 android:singleLine (감가 상각) 또는 설정에 의해 android:inputType="text". 지금 필요한 것은 내 마지막 3자를 대체하는 것입니다. String 와 함께 "...". 나는 단지 글꼴을 사용하지 않기 때문에 이것은 내에 사용 된 문자에 따라 항상 다릅니다. String. 그래서 나는 문자열의 마지막 3자를 얻는 가장 좋은 방법이 무엇인지 궁금합니다. TextView 그리고 그들을 교체하십시오. 아마도 Android 프레임 워크에는 이미 구현 된 것이있을 수 있습니다. 왜냐하면 이것은 일반적인 문제가되어야하기 때문입니다.

도움이 되었습니까?

해결책

텍스트보기의 "Ellipsize"속성을 사용할 수 있어야합니다.

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/text_mytext"
    android:ellipsize="end"
    android:maxLines="1"
/>

레이아웃에 중력 값도 적용해야 할 수도 있습니다. 나는 때때로 그들없이 "자동 스트레치"뷰를 보았습니다.

다른 팁

이 문제에 대한 흥미로운 작업을 발견했습니다.

maxLines=1
ellipsize=end
scrollHorizontally=true

속임수는 수평 스크롤에 대한 마지막 진술입니다 .... 확인하십시오. 적어도 v2.2에서 작동합니다.

프로그래밍 방식으로 사용할 수 있습니다.

TextView tx = new TextView(this);
tx.setTextSize(13);
tx.setGravity(Gravity.CENTER);
tx.setTop(90);
tx.setText("Long text here");
tx.setTextColor(Color.BLACK);
tx.setSingleLine(true);
tx.setEllipsize(TruncateAt.END);
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top