判断textview有没有超出最大行数内容显示省略号

2020-11-20  本文已影响0人  莫不如哦

这个开始为了一个文字展开收起的功能,当不需要展开按钮的时候把展开隐藏掉
开始我用getlayout获取textview的行数,但是有个问题textview渲染要时间,想要正确获取到行数只能用text view.post()去获取,但是这样在列表里用会出现其他问题,所以换一种办法用StaticLayout来判断

StaticLayout staticLayout = StaticLayout.Builder.obtain(content,
                0,
                content.length(),
                tv_content.getPaint(), DimenUtils.dip2px(345)).build();
        int lineCount = staticLayout.getLineCount();
        tv_content.setText(content);
        if (lineCount > 3) { //有省略
            cl_more.setVisibility(View.VISIBLE);
        } else {
            cl_more.setVisibility(GONE);
        }
上一篇下一篇

猜你喜欢

热点阅读