programing

안드로이드:TextView는 문자열의 마지막 3자를 자동으로 잘라내어 바꿉니다.

randomtip 2022. 9. 6. 21:56
반응형

안드로이드:TextView는 문자열의 마지막 3자를 자동으로 잘라내어 바꿉니다.

만약 a가String보다 길다TextView의 너비는 자동으로 다음 행으로 넘깁니다.이 문제를 피할 수 있는 방법은android:singleLine(권장되지 않음) 또는 설정에 따라android:inputType="text"제가 지금 필요한 것은 제 마지막 세 글자를 대체하는 것입니다.Stringmonospace 글꼴을 사용하지 않기 때문에 이 글꼴은 항상 내 글자에 따라 달라집니다.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);

언급URL : https://stackoverflow.com/questions/1666736/android-textview-automatically-truncate-and-replace-last-3-char-of-string

반응형