android – 正确使用TextUtils.commaEllipsize

android – 正确使用TextUtils.commaEllipsize,第1张

概述我正在寻找一些关于如何正确使用TextView的示例代码. 我在谷歌搜索中找到的唯一一件事是test unit for the TextUtils class. 一些指导将不胜感激. 编辑: 我查看了我在这里得到的答案并尝试在我的代码上实现它.我使用了这段代码: TextView title = (TextView) view.findViewById(R.id.listitemThreadsTi 我正在寻找一些关于如何正确使用TextVIEw的示例代码.

我在谷歌搜索中找到的唯一一件事是test unit for the TextUtils class.

一些指导将不胜感激.

编辑:

我查看了我在这里得到的答案并尝试在我的代码上实现它.我使用了这段代码:

TextVIEw Title = (TextVIEw) vIEw.findVIEwByID(R.ID.ListitemThreadsTitle);    Title.setVisibility(VIEw.VISIBLE);    TextPaint p = Title.getPaint();    String strTitle = "Moe,Joe,Isaac,Bethany,Cornelius,CharlIE";    Title.setText(strTitle);    float avail = p.measureText(strTitle);    CharSequence ch = TextUtils.commaEllipsize(strTitle,p,avail,"one more","%d more");    Title.setText(ch);

但结果绝对不是它应该是的.

它更像是:Moe,Betha ……

而不是:Moe,Isaac 3

解决方法
public static CharSequence commaEllipsize (CharSequence text,TextPaint p,float avail,String oneMore,String more)

参数:

text – 要截断的文本
p – 用于测量文本的Paint
avail – 文本可用的水平宽度
oneMore – 当前语言环境中“1 more”的字符串
more – 当前语言环境中“%d more”的字符串

用法示例:

String text = "Apple,Orange,Mango,Banana";TextVIEw tv = new TextVIEw(context);float textWIDth = tv.getPaint().measureText(text );String tempStr = TextUtils.commaEllipsize(text,tv.getPaint(),textWIDth,"1 more","%d more");tv.setText(tempStr);

更新:

TextVIEw Title = (TextVIEw) vIEw.findVIEwByID(R.ID.ListitemThreadsTitle);Title.setVisibility(VIEw.VISIBLE);TextPaint p = Title.getPaint();String strTitle = "Moe,CharlIE";Title.setText(strTitle);float avail = Title.getMeasureDWIDth();CharSequence ch = TextUtils.commaEllipsize(strTitle,"%d more");Title.setText(ch);
总结

以上是内存溢出为你收集整理的android – 正确使用TextUtils.commaEllipsize全部内容,希望文章能够帮你解决android – 正确使用TextUtils.commaEllipsize所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1128745.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存