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

变态需求 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("\n");
            }
        }
        return sb.toString();
    }

结果:

abc
def
g12
345
678

你可能感兴趣的:(android,Java,Java,常用API)