如何将Textviews彼此相邻添加并将它们移动到下一行(如果它们不合适)

时间:2011-09-21 12:34:38

标签: android android-layout

我有5个文本视图,每个textview都有自己的背景,它们是一个紧挨着另一个, 它们的大小会根据我放入其中的文本数量而变化。我想知道是否 在任何时候他们都会停止装配,因为他们到达了父母的边界。但不仅如果它们不适合我想要能够添加“点击这里查看更多”之类的东西。那么,当我向他们添加文本时,如何检测他们占用了多少空间?感谢

1 个答案:

答案 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);