【问题标题】:Any other methods to show 3 dots or truncate in TextView在 TextView 中显示 3 个点或截断的任何其他方法
【发布时间】:2017-06-05 06:30:12
【问题描述】:
  • 我的 TextView 标签看起来像这样

            <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:drawableEnd="@drawable/search_pickup_address"
            android:drawablePadding="@dimen/space"
            android:scrollHorizontally="false"
            android:ellipsize="end"
            android:inputType="text"
            android:maxLines="1"
            android:minLines="1" />
    

  • 我已经设置了所有这些属性

            android:scrollHorizontally="false"
            android:ellipsize="end"
            android:maxLines="1"
            android:minLines="1"
    
  • 由于不推荐使用单行 true 方法

            android:singleLine="true"
    
  • 当我使用此方法时,点显示正常。

     String label;
     if (string.length() >= 35) {
        label= data.substring(0, 35)+ "...";
     } else {
        label= data;
    
     }
       textView.setText(label);
    
  • 但是有没有像

    这样的直接方法
     android:singleLine="true"
    

【问题讨论】:

  • 你有没有想过淡化 TextView 的末端而不是 ellipsize 的可能性?
  • 您只是在问如何修复椭圆大小吗?还是你真的想要另一种方法来做到这一点?
  • 我只是要求其他方法.. 就像这只能在 XML 中实现。
  • 如果你的意思是,可以严格在布局 XML 中完成,那么可以。从 &lt;TextView&gt; 元素中删除 inputType 属性。

标签: android xml android-layout textview android-design-library


【解决方案1】:

你可以使用

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

【讨论】:

  • 感谢您的回复,但我正在寻找我未提及的其他方法。
  • 能否请您为您的答案添加更多上下文。仅代码的答案很难理解。如果您可以在帖子中添加更多信息,这将对提问者和未来的读者都有帮助。
【解决方案2】:

您可以使用用户属性:

android:ellipsize="end"


android:singleLine="true"

希望对你有帮助!

【讨论】:

  • 感谢您的回复,但我正在寻找我未提及的其他方法
  • 可以分享一下吗? :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-17
  • 1970-01-01
  • 1970-01-01
  • 2014-12-18
  • 2016-12-31
  • 1970-01-01
相关资源
最近更新 更多