[java] Android : TextView가 자동으로 문자열의 마지막 3자를 자르고 바꿉니다.

A는 경우 String댄 이상 TextView의 폭이 자동으로 다음 줄에 래핑합니다. android:singleLine(더 이상 사용되지 않음) 또는을 사용하여 이것을 피할 수 있습니다 android:inputType="text". 내가 지금 필요한 것은 내 마지막 3자를 String “로 바꾸는 것입니다 . 모노 스페이스 글꼴을 사용하지 않기 때문에 내에서 사용 된 문자에 따라 항상 달라집니다 String. 그래서 String의 마지막 3자를 a TextView로 바꾸고 대체 하는 가장 좋은 방법이 무엇인지 궁금 합니다. 안드로이드 프레임 워크에 이미 구현 된 것이있을 수 있습니다. 왜냐하면 일반적인 문제이기 때문입니다.



답변

텍스트 뷰의 “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);


답변