programing

TextView가 1줄보다 클 경우 생략기호를 표시하려면 어떻게 해야 합니까?

randomtip 2022. 12. 1. 23:29
반응형

TextView가 1줄보다 클 경우 생략기호를 표시하려면 어떻게 해야 합니까?

다음 레이아웃이 있지만 작동하지 않습니다.

<LinearLayout 
    android:orientation="horizontal" 
    android:layout_width="match_parent" 
    android:id="@+id/experienceLayout" 
    android:background="#ffffff" 
    android:layout_height="match_parent" 
    android:paddingLeft="6dp" 
    android:paddingRight="6dp" 
    android:paddingBottom="6dp" 
    android:paddingTop="6dp">

    <TextView 
        android:layout_weight="1" 
        android:id="@+id/experienceLabel" 
        android:text="Experience" 
        android:layout_height="wrap_content" 
        android:textColor="#000000" 
        android:layout_width="wrap_content" 
        android:textStyle="bold">
    </TextView>

    <TextView 
        android:id="@+id/experienceTextView" 
        android:text="TextView" 
        android:layout_height="wrap_content" 
        android:textColor="#000000" 
        android:layout_width="wrap_content" 
        android:ellipsize="end" 
        android:lines="1" 
        android:maxLines="1" 
        android:singleLine="true" 
        android:fadeScrollbars="false">
    </TextView>

</LinearLayout>

이것은 일반적인 문제입니다.다음을 사용해 보십시오.

android:scrollHorizontally="true"
android:ellipsize="end" 
android:maxLines="1"

............ 두루마리 수평은 그것을 작동시키는 특별한 소스입니다.

이렇게 하면 줄임표와 함께 한 줄이 만들어집니다.

 android:singleLine="true"

이것을 사용하다

android:ellipsize="end"  
android:singleLine="true"

어떤 출력이 나오는지 완전히 알지 못한 상태에서 이 기능을 사용하지 마십시오.

android:ellipsize="end"  
android:maxLines="1"

사용할 때maxlines = 1대부분의 문자가 잘립니다.

여러 디바이스/API에서 작동하는 방식은 다음과 같습니다(tv는 TextView).

    if (tv.getLineCount() > 1) {
        int lineEndIndex = tv.getLayout().getLineEnd(0);
        String text = tv.getText().subSequence(0, lineEndIndex - 3) + "\u2026";
        tv.setText(text);
    }

따라서 위의 모든 답변은 한 줄만 표시한 다음 줄임표를 표시해야 하는 요건을 충족합니다.그러나 특정 텍스트 행 뒤에 줄임표를 표시하려면 다음을 사용해야 합니다.

android:ellipsize="end"
android:maxLines="2"
android:singleLine="false"

이렇게 하면 줄임표는 두 줄 뒤에만 나타납니다.주의: singleLine을 false로 하는 것이 중요합니다.

이것이 도움이 되었습니다.

android:ellipsize="end"
android:maxLines="1"
android:singleLine="true"

다음 사항을 확인합니다.TextView width로 설정되어 있다.Match_Parent

https://github.com/chrisjenx/Calligraphy/issues/43#issuecomment-523701518

android:singleLine는 권장되지 않습니다.저 같은 경우에는 키도 일정하게 해야 되고TextView그리고 나는 그것을 사용했다.android:lines대신 귀속시키다android:maxLines나는 이것이 나와 같은 문제를 겪고 있는 누군가에게 도움이 될 것이라고 생각했다.

android:ellipsize="end"
android:lines="2"

언급URL : https://stackoverflow.com/questions/6393487/how-can-i-show-ellipses-on-my-textview-if-it-is-greater-than-the-1-line

반응형