我有5个文本视图,每个textview都有自己的背景,它们是一个紧挨着另一个, 它们的大小会根据我放入其中的文本数量而变化。我想知道是否 在任何时候他们都会停止装配,因为他们到达了父母的边界。但不仅如果它们不适合我想要能够添加“点击这里查看更多”之类的东西。那么,当我向他们添加文本时,如何检测他们占用了多少空间?感谢
答案 0 :(得分:2)
您可以使用TextUtils.ellipsize。
保持会员的实际文本。使用text作为参数调用ellipsize,并将返回的文本设置为textview。
你可以设置一个回调TextUtils.EllipsizeCallback
,当文本被椭圆化时,它将被调用。
TextUtils.EllipsizeCallback ellipsizeCallback = new TextUtils.EllipsizeCallback(){
void ellipsized(int start, int end) {
// enable the `click here to see more` button.
}
}
...
CharSequence elipsizedText = ellipsize (mtext, mtxtpaint,
avail, TextUtils.TruncateAt.END ,
preserveLength, ellipsizeCallback);
tv.setText(mtext);