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

来源:互联网 发布:淘宝卖家在哪里发微淘 编辑:程序博客网 时间:2024/06/07 22:26
在应用开发的过程中,碰到一个需求就是需要在列表中展示文本时,当文本内容过多时,就需要将文本全文展示,这是考虑到当代码需要写到适配器中,而无法与应用的生命周期控制相关时的措施//       /*查看全文按钮  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>

 
原创粉丝点击