Android TextView SingleLine field hides long text

后端 未结 6 895
梦毁少年i
梦毁少年i 2020-12-10 11:02

I have a TextView which sits on the left side of the screen and is set with gravity=\"right\" and it is set with SingleLine = \"true.\"

If by some chance the text in

相关标签:
6条回答
  • 2020-12-10 11:26

    Add 2 properties in xml

    android:singleLine="true"
    
    android:ellipsize="end"
    
    0 讨论(0)
  • 2020-12-10 11:41

    You should play with ellipsize attribute of the TextView.Check below:

    <TextView
        android:id="@+id/tempF"
        android:text="@string/tempF"
        android:layout_width="146dp"
        android:layout_height="wrap_content"
        android:textColor="#cccccc"
        android:textStyle="bold"
        android:textSize="92dp"
        android:fontFamily="serif"
        android:gravity="right"
        android:layout_marginTop="60dp"
        android:layout_gravity="top|left"
        android:singleLine="true"
        android:ellipsize="end"
        />
    
    0 讨论(0)
  • 2020-12-10 11:41
    <TextView
        android:id="@+id/tv_desc"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="@color/colorGray"
        android:textSize="@dimen/_18dp"
        android:padding="@dimen/_2dp"
        android:singleLine="true"
        android:ellipsize="end"
        android:text="@string/desc" />
    
    0 讨论(0)
  • 2020-12-10 11:42

    This is the purpose of "ellipsize" - truncating a portion of text to indicate additional text.

    In you case, you may simply need to add something like:

    android:ellipsize="end"
    

    or you might need to go deeper:

    Automatically ellipsize a string in Java

    Or look at this:

    android ellipsize multiline textview

    The idea behind extending the class is that you can customize the behavior of the TextView when the text content exceeds the space provided. For example, you can give it the appearance the it "bleeds over" by removing padding, etc. An ellipsis is an indicator that is commonly used to explain "there's more text that you can't see" - this is how it would look:

    This is really a really long...

    (the 3 periods are the ellipsis - your text goes the opposite direction, but it should still work)

    With a custom TextView, you could change the "..." to nothing or anything else you want (even an image, which I've done).

    You could also marquee the text:

    TextView Marquee not working

    0 讨论(0)
  • 2020-12-10 11:46
    <View
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:background="#000000" />
    

    It works.

    0 讨论(0)
  • 2020-12-10 11:48

    Since android:singleLine is deprecated. We can use this line android:maxLines

    Can do like this.

    android:ellipsize="end"
    android:maxLines="1"
    
    0 讨论(0)
提交回复
热议问题