zoukankan      html  css  js  c++  java
  • TextView 获取行数,某一行的内容,某行的宽度

    获取行数

    ViewTreeObserver vto = textView.getViewTreeObserver();
    vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
    
        @Override
        public void onGlobalLayout() {
            ViewTreeObserver obs = textView.getViewTreeObserver();
            obs.removeGlobalOnLayoutListener(this);
            int lineCount = textview.getLineCount(); //行数
    
        }
    });
    
    //或者
    textview.setText(“Some text”);
    textview.post(new Runnable() {
        @Override
        public void run() {
            int lineCount = textview.getLineCount();//行数
        }
    });
    final TextView title = (TextView)findViewById(R.id.text);
            title.setText("A really long text");
            ViewTreeObserver vto = title.getViewTreeObserver();
            vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
    
                @Override
                public void onGlobalLayout() {
                    ViewTreeObserver obs = title.getViewTreeObserver();
                    obs.removeGlobalOnLayoutListener(this);
                    if(title.getLineCount() > 3){
                        Log.d("","Line["+title.getLineCount()+"]"+title.getText());
                        int lineEndIndex = title.getLayout().getLineEnd(2);
                        String text = title.getText().subSequence(0, lineEndIndex-3)+"...";
                        title.setText(text);
                        Log.d("","NewText:"+text);
                    }
    
                }
            });
    View Code

    获取行的内容和宽度

    Layout layout = edit.getLayout();
    String text = edit.getText().toString();
    int start = 0;
    int end;
    for (int i = 0; i < edit.getLineCount(); i++) {
        end = layout.getLineEnd(i);
                        
        String line = text.substring(start, end); //指定行的内容
        start = end;
        float width = layout.getLineWidth(i); //指定行的宽度
        
        Log.e("test", line + "," + width);
    }
  • 相关阅读:
    转MySQL详解--索引
    [转]关于MYSQL Innodb 锁行还是锁表
    根据STATUS信息对MySQL进行优化
    源码编译安装 MySQL 5.5.x 实践
    thrift服务端到客户端开发简单示例
    thrift安装
    thrift 调取 python php go 客户端代码
    Linux系统启动级别及顺序
    Linux手动释放内存
    /etc/passwd&/etc/shadow文件分析
  • 原文地址:https://www.cnblogs.com/zijianlu/p/4876826.html
Copyright © 2011-2022 走看看