TextView检查ellipsized是否与android无关:autoLink =“web”

时间:2016-11-06 01:44:08

标签: android textview

通常这就是我检查我的TextViews是否已被椭圆化的方式:

ViewTreeObserver vto = description_detail.getViewTreeObserver();
vto.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {

    @Override
    public void onGlobalLayout() {

        Layout l = description_detail.getLayout();

        if (l != null) {
            int lines = l.getLineCount();
            Log.e("lineCount=", String.valueOf(lines));
            Log.e("getEllipsisCount=", String.valueOf(l.getEllipsisCount(lines - 1)));

            if (lines > 0)
                if (l.getEllipsisCount(lines - 1) > 0)
                //ELLIPSIZED
        }
    }
});

我添加

android:autoLink="web"

到我的TextView,它不再起作用了。

我不明白为什么会这样。有什么想法吗?

编辑:

  <TextView
      android:id="@+id/description_detail"
      android:layout_width="250dp"
      android:layout_height="wrap_content"
      android:layout_marginLeft="15dp"
      android:ellipsize="end"
      android:autoLink="web"
      android:maxLines="3"
      android:text=""
      android:textColor="@color/hostGrey"
      android:textSize="16dp" />

因此,只要我的TextBox的行数大于3,它就会被椭圆化。

调试结果:

启用自动链接:

lines == 107
l.getEllipsisCount(lines - 1) == 0

没有自动链接:

lines == 3
l.getEllipsisCount(lines - 1) == 1

0 个答案:

没有答案