【问题标题】:Textview limit 140 Characters not workingTextview 限制 140 个字符不起作用
【发布时间】:2016-01-25 03:05:48
【问题描述】:

我知道这个问题已经被问过多次,但我无法使用可用的解决方案来解决我的问题。

我应用了其他堆栈溢出线程上可用的所有解决方案。

要求:

如果字符串长度超过 140,则只显示 140 个字符,最后添加“..”。 如果字符串少于 140 个字符,则最后不需要附加“..”。

我尝试过的:

        <TextView
            android:id="@+id/tvIssueBody"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:ellipsize="end"
            android:maxLength="140"
            android:paddingBottom="5dp"
            android:paddingLeft="@dimen/activity_horizontal_margin"
            android:text="Small Text"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:textSize="@dimen/detail_text_size"/>

我已经尝试了上面的代码,但它不起作用,我也尝试了所有其他属性混合,但它不起作用。

我应该与str.subString(0,141) 选项有关吗?没有办法使用 textview 属性限制 140 个字符?

感谢所有提前。任何帮助将不胜感激。

【问题讨论】:

    标签: android android-layout android-widget textview


    【解决方案1】:

    使用内置的 TextView 无法让它完全按照您的要求工作。首先,TextView 不允许任何人添加超过 maxLength 的字符。因此,如果他们尝试添加 200 个字符,最后 60 个字符将被删除。这意味着如果您想保留该数据,即使 141 也无法使用。并且 Elipsize 不会在您想要的地方进行椭圆化 - 它会在需要的地方进行椭圆化,以适应屏幕上的文本。您不能在给定长度后强制它这样做。

    您真正需要的是自定义视图或 TextView 的子类,因此您可以覆盖 onDraw 以绘制与设置文本不同的字符串(它的手形椭圆版本)。

    【讨论】:

    • 不错的答案,当我要在 textview 上执行 setText 时,最好使用 subString。
    猜你喜欢
    • 2016-05-29
    • 1970-01-01
    • 2021-01-16
    • 1970-01-01
    • 2015-11-24
    • 2023-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多