牛骨文教育服务平台(让学习变的简单)
博文笔记

String 字符串截取拼装换行 接近Textview换行问题

创建时间:2015-05-17 投稿人: 浏览次数:2244

变态需求 Textview只能显示10个英文字符 多的换行显示  默认android 的Textview只能这是宽度强制换行,要不就是在字符串里面有换行符"/n" 但要是给String 无换行符呢?

这里就需要自己判断的修改下 

 // 设置名称

String test = "abcdefg12345678"

TextView textView =(TextView) findViewById(R.id.tv_test);
textView.setText(toMultiLine(test, 3));


    /**字符串截取 换行
     * @param str
     * @param len
     * @return
     */
    private  String toMultiLine(String str, int len) {
        char[] chs = str.toCharArray();
        StringBuffer sb = new StringBuffer();
        for(int i = 0, sum = 0; i < chs.length; i++) {
            sum += chs[i] < 0xff ? 1 : 2;
            sb.append(chs[i]);
            if(sum >= len) {
                sum = 0;
                sb.append(" ");
            }
        }
        return sb.toString();
    }

结果:

abc
def
g12
345
678

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。