我们知道,要使TextView单行显示,如果超出的话用“…”显示,只要设置

android:ellipsize="end"android:singleLine="true"

或者多行显示,超出的部分使用“…”显示,那么,设置如下

android:lines="2"android:ellipsize="end"

那么问题是,我们怎么知道TextView已经省略了内容呢?

        TextView textView = (TextView) findViewById(R.id.txt_course_introduce);        Layout l=textView.getLayout();        if(l!=null){            int lines =l.getLineCount();            LogUtils.d(TAG, "lines = " + lines);            if(lines>0){                if(l.getEllipsisCount(lines-1)>0){                    LogUtils.d(TAG, "Text is ellipsized");                }            }        }else {            LogUtils.d(TAG,"Layout is null");        }

通过textview获取Layout,然后根据Layout的一个方法getEllipsisCount(int),来判断是否已经省略,但Layout大多时候获取到的都是null,为什么呢?原因是,Layout要等TextView绘制完了才能够拿到Layout的对象。

final TextView textView = (TextView) findViewById(R.id.txt_training_introduce);        textView.post(new Runnable() {            @Override            public void run() {                Layout l = textView.getLayout();                if (l != null) {                    int lines = l.getLineCount();                    LogUtils.d(TAG, "lines = " + lines);                    if (lines > 0) {                        if (l.getEllipsisCount(lines - 1) > 0) {                            LogUtils.d(TAG, "Text is ellipsized");                        }                    }                } else {                    LogUtils.d(TAG, "Layout is null");                }            }        });

更多相关文章

  1. Android 多线程之synchronized锁住的是代码还是对象(二)
  2. Android Handler机制5之Message简介与消息对象对象池
  3. android直接利用opencv打开摄像头失败原因及解决方案
  4. android videoview 没有画面的一个原因
  5. res\drawable-hdpi\new.png:0: error: invalid symbol: 'new'
  6. Android 对象序列化之你不知道的 Serializable
  7. Android 对象序列化之 Parcelable 取代 Serializable ?
  8. Android 对象序列化之追求完美的 Serial
  9. android EditView不换行的原因

随机推荐

  1. Android(安卓)Studio Gradle Sync同步慢
  2. 《Android学习指南》分享给大家
  3. android:orientation参数说明
  4. Android中使用Gson解析JSON数据,以及把JS
  5. android适配器的使用
  6. Qt for Android 中集成 ShareSDK
  7. Android 屏幕切换横竖屏时防止activity重
  8. Android Studio:Multiple dex files defin
  9. Android 5.0的调度作业JobScheduler
  10. android 异步加载图片总结