开发者

Can't get ellipsis to work on Android

开发者 https://www.devze.com 2022-12-10 17:04 出处:网络
I have a TextView. I want it to ellipsize if longer than its available width. This does not work unless the input string has no spaces... can anyone provide an example of this working? I\'ve 开发者_如

I have a TextView. I want it to ellipsize if longer than its available width. This does not work unless the input string has no spaces... can anyone provide an example of this working? I've 开发者_如何转开发tried different combinations of:

singleLine="true" maxLines="1" scrollHorizontally="false"

none of these have any effect. Again, if I supply a string that has no spaces in it, then the ellipsis appears correctly. What am I missing? I've tried this on 1.5, 1.6, 2.0, all same problem.

Thanks


Ellipsize is broken (go vote on the bug report, especially since they claim it's not reproducible) so you have to use a minor hack. Use:

android:inputType="text"
android:maxLines="1"

on anything you want to ellipsize. Also, don't use singleLine, it's been deprecated since 1.5.


this was the only combination that I could get to work on SDK ver4:

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

(Yes I know it says it's deprecated but I'm left without a choice)


Try with:

textView.setSingleLine();
TruncateAt truncate = TruncateAt.END;
textView.setEllipsize(truncate);


Simple Solution.

int limit = 9;
if (str.length() > limit) {
    textView.setText(str.substring(0, limit)+"...");
} else {
    textView.setText(str);
}
0

精彩评论

暂无评论...
验证码 换一张
取 消