第一步:接口请求返回数据
第二步:使用handler和textview.getLineCount方法判断是否超过指定行数:
community_desc_more.setVisibility(View.VISIBLE);
community_desc.setMaxLines(3);
community_desc.setEllipsize(TextUtils.TruncateAt.END);
第三步:点击展开按钮判断
int communityLineCount = community_desc.getLineCount();
if (communityLineCount > 3) {
community_desc_more.setText("展开");
community_desc.setMaxLines(3);
} else {
community_desc.setMaxLines(Integer.MAX_VALUE);
community_desc_more.setText("收起");
}
有个要注意的地方,getLineCount得到的是textview的真正行数,但是如果使用了
setEllipsize(TextUtils.TruncateAt.END)
得到的却是可见的行数