String
이 TextView
의 너비보다 길면 자동으로 다음 줄로 넘어갑니다. android:singleLine
(사용되지 않음)을 사용하거나 android:inputType="text"
을 설정하여이 문제를 방지 할 수 있습니다. 지금 내가 필요로하는 것은 내 String
의 마지막 3자를 "..."으로 대체하는 것입니다. 고정 폭 글꼴을 사용하지 않으므로 내 String
에 사용 된 문자에 따라 항상 달라집니다. 그래서 TextView
에서 문자열의 마지막 3 문자를 가져 와서 바꾸는 가장 좋은 방법은 무엇인지 궁금합니다. 아마도 이것이 공통적 인 문제이기 때문에 안드로이드 프레임 워크에 이미 구현 된 것이있을 것입니다.Android : TextView는 자동으로 문자열의 마지막 3자를 자르고 바꿉니다.
100
A
답변
222
당신은 텍스트 뷰의 "ellipsize"속성 사용할 수 있어야합니다 : 또한 너무 레이아웃에 중력 값을 적용해야 할 수도 있습니다
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/text_mytext"
android:ellipsize="end"
android:maxLines="1"
/>
을; 나는 때때로 그것들없이 "auto-stretching"뷰를 보았습니다.
28
이 문제에 대한 흥미로운 일 라운드를 찾았습니다.
maxLines=1
ellipsize=end
scrollHorizontally=true
트릭은 수평 스크롤에 관한 마지막 문장입니다. 알아보십시오. 적어도 v2.2에서 작동합니다. 프로그래밍 방식
와
+7
안드로이드 4.0에서 작동을 멈추는 것 같습니다 – caw
+0
재미있는 ... 잘 알고 있습니다. Marco에게 감사의 말을 전합니다. – BonanzaDriver
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);
관련 문제
- 1. 문자열의 발생을 문자열의 URL로 바꿉니다.
- 2. 문자열의 마지막 쉼표를 "and"로 바꿉니다. (목표 - C)
- 3. 레일이 문자열의 경로를 바꿉니다.
- 4. TextView는 Android 마켓과 같이 애니메이션을 확장합니다
- 5. 자바에서 문자열의 특수 문자를 바꿉니다
- 6. 데이터베이스에있는 문자열의 일부를 검색하고 바꿉니다.
- 7. 문자열의 마지막 문자 교체
- 8. xcode는 문자열의 마지막 문자를 자릅니다.
- 9. Regex.Matches MatchCollection을 기반으로 문자열의 내용을 바꿉니다.
- 10. PHP가 href 링크로 문자열의 키워드를 바꿉니다.
- 11. 문자열의 일부를 x의 C++로 바꿉니다
- 12. 모든 비 숫자를 문자열의 빈 문자로 바꿉니다.
- 13. grep 및 sed - 문자열의 모든 인스턴스를 바꿉니다.
- 14. Regex.Replace는 문자열의 시작 부분 만 바꿉니다.
- 15. div의 내용을 문자열의 정규식 일치로 바꿉니다.
- 16. NSURL의 끝에서 3자를 어떻게 제거합니까?
- 17. 문자열의 마지막 숫자와 다른 문자열의 같은 자리에있는 숫자를 비교하십시오.
- 18. android : 문자열의 체크섬
- 19. 문자열의 마지막 단어를 찾는 SQL 문
- 20. NSString에서 하위 문자열의 마지막 항목을 찾으려면 어떻게합니까?
- 21. PHP에서 문자열의 마지막 이메일을 가져오고 싶습니다.
- 22. 문자열의 마지막 경로 구성 요소 제거
- 23. 정규식, jQuery로 문자열의 마지막 특정 문자를 제거하십시오.
- 24. 우아한 방법은 문자열의 마지막 부분을 제거 하시겠습니까?
- 25. 문자열의 마지막 문자를 제거하는 경우 $ variable
- 26. 문자열의 마지막 문자 제거 (VB.NET 2008)
- 27. 문자열의 점을 바꾸지 만 마지막 하나는 남깁니다.
- 28. Java는 문자열의 HTML 태그가 아닌 모든 태그를 바꿉니다.
- 29. URL을 재 작성하여 쿼리 문자열의 ID와 제목을 바꿉니다.
- 30. 자동으로 R.java가 삭제되었습니다 : Android
하나를 사용할 수 있습니다 - 사용자가하고 싶어 정확하게 그것을 자신 – I82Much
완벽한 롤하지 않고. 감사. 나는 android : singleLine = "true"대신에 android : inputType = "text"를 사용했기 때문에 이전에 시도했지만 작동하지 않았습니다. 하지만 지금은 android : 1Line = "true"를 고수 할 것입니다. Muchas gracias. – znq
여전히 "..."을 추가하지 않습니다. 나를 위해,이 질문은 완전히 답변되지 않았습니다! 이 대답은 "짧은 verylongword"를 "짧게"만들고 "짧은 verylon ..."으로 만들지 않을 것입니다. 꼭 꼭 쓰지 않는 속성을 사용하는 것이 좋습니다. – OneWorld