如何在文本视图的末尾显示三个点

时间:2019-08-16 10:43:00

标签: android android-layout

我在卡片视图下有一个文本视图,我想在文本足够长时在文本视图的末尾有三个点。

我尝试在文本视图中添加以下行,但无济于事。

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

屏幕截图

enter image description here

这是我的下面的布局:

 <androidx.cardview.widget.CardView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:cardBackgroundColor="#fff"
    app:cardCornerRadius="3dp"
    app:contentPadding="3dp"
    app:cardUseCompatPadding="true">

    <androidx.constraintlayout.widget.ConstraintLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <ImageView
            android:id="@+id/homeBookImage"
            android:layout_width="120dp"
            android:layout_height="150dp"
            android:layout_marginEnd="232dp"
            android:layout_marginRight="232dp"
            android:scaleType="fitXY"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintHorizontal_bias="0.0"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintVertical_bias="0.0" />

         <TextView
            android:id="@+id/homeBookName"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginStart="8dp"
            android:layout_marginLeft="8dp"
            android:text=""
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintHorizontal_bias="0.0"
            app:layout_constraintStart_toEndOf="@+id/homeBookImage"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintVertical_bias="0.0"
            android:singleLine="true"
            android:maxLines="1"
            android:ellipsize="end"/>

    </androidx.constraintlayout.widget.ConstraintLayout>

    </androidx.cardview.widget.CardView>

请让我知道如何实现所需的布局。任何帮助将不胜感激。

谢谢

4 个答案:

答案 0 :(得分:2)

您在bge.xxx.import("myPath/test.obj") ?? 内使用ConstraintLayout,可以看到您已正确约束了CardView,但宽度为TextView,这是导致问题的原因。将其设置为wrap_content,您的0dpandroid:ellipsize属性将起作用。

尝试一下:

android:singleLine

答案 1 :(得分:1)

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

与此同时,您需要指定宽度以匹配父对象(以及根据设计的权重)。     如果文本内容超出长度,则会显示 ...

答案 2 :(得分:1)

您可以检查所需的长度,并从代码中执行以下操作:

 if (yourText.length() > 30){ 
      textView = textView .substring(0, 30); //textView length is reduced to add ...
      something.setText(textView + "...");   //adding the ... at the end
 }

答案 3 :(得分:0)

给出固定宽度或match_parent

<TextView
       android:layout_width="200dp" // match_parent
       android:layout_height="wrap_content"
       android:singleLine="true"
       android:text="Your text"/>