2011-01-13 65 views
1

我有一个小部件,我需要在一行上显示一些文本。如果文字不合适,我想尽可能地显示,并用“...”结束文本,以显示并非所有文本都显示出来。有没有办法在渲染小部件之前发现显示的文本将会显示多长时间,以便我可以用“...”替换文本的最后部分?在渲染前测量文本长度

干杯,

+1

我认为这个问题的答案是你在寻找什么:http://stackoverflow.com/questions/1666736/android-textview-automatically-truncate-and-replace-last-3- char-of-string :) – Nailuj 2011-01-13 10:30:11

+1

类似的问题:http://stackoverflow.com/questions/3257293/measuring-text-width-to-be-drawn-on-canvas-android – bigstones 2011-01-13 10:30:39

回答

3

你不需要这样做 - 一个TextView可以为你做到这一点。

myTextView.setSingleLine(true); 
myTextView.setEllipsize(TextView.TruncateAt.END);