TextView 行数控制

控制textview只显示 2 行文本,超过 2 行显示展开/折叠按钮(mShowImage),isShow=true时,是展开状态,isShow=false时,是折叠状态

方法一:

                int line = textView.getLineCount();
                if (line > 2 && ! isShow) {
                    textView.setLines(2);
                    textView.setEllipsize(TextUtils.TruncateAt.END);
                    mShowImage.setVisibility(VISIBLE);
                }

方法二:

        textView.setLines(2);
        textView.setEllipsize(TextUtils.TruncateAt.END);
        int line=textView.getLineCount();
        Layout layout=textView.getLayout();
        if (layout.getEllipsisCount(line-1)>0){
            mShowImage.setVisibility(VISIBLE);
        }

展开 / 折叠按钮的点击事件的处理:

        isShow=!isShow        mShowImage.setImageResource(isAllShow ? R.drawable.ic_keyboard_arrow_up_black_24dp : R.drawable.ic_keyboard_arrow_down_black_24dp);
        if (isShow) {
            textView.setSingleLine(false);
            textView.setEllipsize(null);
        } else {
            textView.setLines(2);
            textView.setEllipsize(TextUtils.TruncateAt.END);
        }
时间: 2024-10-29 00:57:09

TextView 行数控制的相关文章

eclipse中console的输出行数控制

eclipse中console的输出行数控制 开发中,会遇到当输出大量的sql语句或者错误的时候,往往会因为console输出的限制而不能完整显示,所以我们自己就需要迫切的增加显示的行数,这样 就可以通过控制台输出的信息来查看错误的原因,从而解决问题. 第一步,当项目运行时,点击console输出框,右键选择"preferences"如下图所示 第二步,选择了之后,在弹出框中,找到"limit console output",如果是选中的话就把前面的选中取消掉. 综

获取textview行数

获取textview行数 textview 代码 import android.content.Context; import android.graphics.Canvas; import android.text.Layout; import android.text.Layout.Alignment; import android.text.StaticLayout; import android.text.TextUtils; import android.util.AttributeS

安卓TextView限定行数最大值,点击按钮显示所有内容

问题展示 如上图所示,在普通的TextView中,要求: 最多显示3行 超过三行显示展开按钮 且点击展开按钮显示完整内容 这个需求看似简单,但解决起来会遇到两个较为棘手的问题:1,如何判断是否填满了前三行?   2,textview在未完全渲染前无法拿到实际的属性. 解决思路: 写好布局文件,隐藏展开按钮 填充数据,判断数据是否塞满前三行 根据上一步的判断结果,选择隐藏和显示展开按钮 具体步骤: 布局文件此处省略,很简单只有一个TextView和一个Button,并设置Button隐藏. 首先,

android ScrollView 控制行数

利用ScrollView 来控制textView 显示的行数 <ScrollView android:layout_width="fill_parent" android:layout_height="wrap_content" android:scrollbars="vertical" > <LinearLayout android:layout_width="wrap_content" android:l

Android:TextView最小行数设置

我们有时候为了保证TextView必须有一个最小的高度,那么就需要设置这个行数. 因为如果你不设置的话,在measure这个TextView的时候,此时就无法准确的得到一个最小高度.因为设备不同,所以必须measure(0,0)来获取到. 默认TextView的高度是1行. <TextView android:background="#220000ff" android:layout_width="match_parent" android:layout_he

css控制显示行数,多出部分显示省略号

webkit-line-clamp:number;控制行数, 是一个 不规范的属性(unsupported WebKit property),它没有出现在 CSS 规范草案中.为了实现该效果,它需要组合其他外来的WebKit属性.常见结合属性: display: -webkit-box; 必须结合的属性 ,将对象作为弹性伸缩盒子模型显示 . -webkit-box-orient:vertical;控制文本行数的方向,这是一个 必须结合的属性 ,设置或检索伸缩盒对象的子元素的排列方式 . text

TextView 获取行数,某一行的内容,某行的宽度

获取行数 ViewTreeObserver vto = textView.getViewTreeObserver(); vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() { @Override public void onGlobalLayout() { ViewTreeObserver obs = textView.getViewTreeObserver(); obs.removeGlobalOnLayoutListener(

android获取textview的行数

最近项目需求,需要获取Textview的行数,通过行数与TextView的maxLines进行比较来确定是否显示TextView下方的展开按钮是否显示,废话少说直接上代码,mTextView.getLineCount() ,似乎很美好,安卓有提供这个方法,但是总是返回0,这是为啥呢?官方注释如下: /** * Return the number of lines of text, or 0 if the internal Layout has not * been built. */ 也就是说只

TextView 限制最大行数、最小行数、字数超过“...”表示

最小行数: android:minLines = "2" //最小行数为2 最大行数: android:maxLines = "2" //最大行数为2 文字超过的时候“...”表示: android:ellipsize = "end" //省略号在结尾 ellipsize用法: 1.在xml中 android:ellipsize = "end"  省略号在结尾 android:ellipsize = "start&q