textview内容过多显示省略号,点击展开全部

开发中经常会遇到textview内容过多显示两三行后边显示省略号,有时还会需要点击展开全部显示:

效果图是这样的,不会gif图制作,只能上图片

textview内容过多显示省略号,点击展开全部_第1张图片
textview内容过多显示省略号,点击展开全部_第2张图片

好了直接上代码:

 //这是点击的代码
                if (isShowDes) {
                    tvDes.setEllipsize(TextUtils.TruncateAt.END);//收起
                    tvDes.setLines(3);
                    tvShowMore.setText("展开");
                } else {
                    tvDes.setEllipsize(null);//展开
                    tvDes.setSingleLine(false);//这个方法是必须设置的,否则无法展开
                    tvShowMore.setText("收起");
                }
                isShowDes = !isShowDes;


            

            

                

            
最后还可以在activity中的
onWindowFocusChanged方法处理展开按钮是否显示
@Override
    public void onWindowFocusChanged(boolean hasFocus) {
        super.onWindowFocusChanged(hasFocus);
        if (hasFocus) {
            if (tvDes.getLineCount() < 3) {//获得textview显示行数不要在设置值后直接获取,可能会得到0,因为内容还没完全加载
                tvShowMore.setVisibility(View.GONE);
            }
        }
    }
这样就实现了textview内容过多展示问题!

你可能感兴趣的:(textview内容过多显示省略号,点击展开全部)