如果文本视图已被椭圆化,我有问题要检查。我在循环视图中定义了项目的布局,我必须检查,如果文本是椭圆化的,如果是,则隐藏按钮。我找到了解决方案,在哪里可以从文本视图中获取布局并检查它是否已经过椭圆化,但在循环视图中的bind方法中,它总是返回false。你有想法的人,我怎么做?
Layout l = textview.getLayout();
if (l != null) {
int lines = l.getLineCount();
if (lines > 0)
if (l.getEllipsisCount(lines-1) > 0)
Log.d(TAG, "Text is ellipsized");
}
此代码对我不起作用。
答案 0 :(得分:1)
在您的适配器中尝试
holder.textView.post(new Runnable() {
@Override
public void run() {
if (holder.textView.getLayout() != null) {
if (widthText == 0) {
widthText = holder.textView.getWidth();
}
boolean isEllipsize = !holder.textView.getText().toString().equalsIgnoreCase(holder.textView.getLayout().getText().toString());
} else {
Paint paint = new Paint();
paint.setTextSize(holder.textView.getTextSize());
final float size = paint.measureText(holder.textView.getText().toString());
boolean isEllipsize = (int) (size / maxLine) > widthText;
}
}
});
如果您想阅读更多文本(如果文字太长),可以使用以下库: https://github.com/bravoborja/ReadMoreTextView
答案 1 :(得分:0)
答案 2 :(得分:0)
试试这个,
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="end"
android:lines="1" />