这个开始为了一个文字展开收起的功能,当不需要展开按钮的时候把展开隐藏掉
开始我用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);
}
网友评论