需求实现:实现文本框多行展示时显示“全文”的操作

在应用开发的过程中,碰到一个需求就是需要在列表中展示文本时,当文本内容过多时,就需要将文本全文展示,这是考虑到当代码需要写到适配器中,而无法与应用的生命周期控制相关时的措施

//       /*查看全文按钮  java代码
        ViewTreeObserver observer = text.getViewTreeObserver(); // textAbstract为TextView控件
        observer.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {

            @Override
            public void onGlobalLayout() {
                ViewTreeObserver obs = text.getViewTreeObserver();
                obs.removeGlobalOnLayoutListener(this);
                if (text.getLineCount() >= 4) {
                    text.setLines(4);
                    text.setEllipsize(TextUtils.TruncateAt.END);
                    showall.setVisibility(View.VISIBLE);
                }
            }
        });

            showall.setOnClickListener(new View.OnClickListener() {
                boolean flag=true;
                @Override
                public void onClick(View view) {
                    if(flag) {
                        text.setSingleLine(false);//这一句不单单是设置文本显示单行显示,还有个重要的作用就是其内部运行的applySingleLine()
                        text.setEllipsize(null);
                        flag=false;
                    }else{
                        flag=true;
                        text.setMaxLines(4);
                        text.setEllipsize(TextUtils.TruncateAt.END);
                    }
                }
            });

//layout.xml文件布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.xuganwen.testtextview.MainActivity">


        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/text"

            />
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="全文"
            android:visibility="gone"
            android:layout_below="@id/text"
            android:id="@+id/showall"
            />


</LinearLayout>

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值