zoukankan      html  css  js  c++  java
  • 解决安卓TextView异常换行,参差不齐等问题

    参考:http://blog.csdn.net/u012286242/article/details/28429267?utm_source=tuicool&utm_medium=referral

    关于TextView异常换行,参差不齐问题分析:安卓TextView第二行开始(包括第二行),每行开头第一个字符不能为字母、数字、标点符号、以及特殊字符,因为它们都为半角字符,所以我们要将半角字符改为全角字符……

    上图:

           没有转换为半角字符前效果图:                                                    

                                                                            

    转换为全角字符后效果图:

                               

    布局文件:main.xml

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:Android="http://schemas.android.com/apk/res/android"
                  android:orientation="vertical"
                  android:layout_width="fill_parent"
                  android:layout_height="fill_parent"
                  android:background="#ffffff"
                  android:gravity="center">
        <TextView android:id="@+id/Content"
                  android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:textColor="#000000"
                  android:layout_marginLeft="10dp"
                  android:layout_marginRight="10dp"
                  android:textSize="16dp"/>
    </LinearLayout>

     java文件:MyActivity.java

    package com.example.androidTest;

    import android.app.Activity;
    import android.os.Bundle;
    import android.widget.TextView;

    public class MyActivity extends Activity {
        private TextView Content;
        /**
         * Called when the activity is first created.
         */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            Content=(TextView)findViewById(R.id.Content);
            String input="移动OA上线会议计划于2012年05月19日9点在102会议室准时召开,请各位准时参加会议!房间安静的身份辣椒粉杜蕾斯打附加赛科技大厦防雷接地萨拉会计分录快点撒解放路口的就是大家是否缴费的卢卡斯解放东路卡萨!";
            String cc=ToSBC(input);
            Content.setText("        "+cc);
        }
        //导致TextView异常换行的原因:安卓默认数字、字母不能为第一行以后每行的开头字符,因为数字、字母为半角字符
        //所以我们只需要将半角字符转换为全角字符即可,方法如下
        public static String ToSBC(String input) {
            char c[] = input.toCharArray();
            for (int i = 0; i < c.length; i++) {
                if (c[i] == ' ') {
                    c[i] = 'u3000';
                } else if (c[i] < '177') {
                    c[i] = (char) (c[i] + 65248);
                }
            }
            return new String(c);
        }
    }

  • 相关阅读:
    dinic模板
    ZOJ 3042 City Selection II 【序】【离散化】【数学】
    Codeforces 452D [模拟][贪心]
    Day25 python基础---面向对象进阶--模块与包
    Day22&23&24 python基础---面向对象进阶--常用模块
    Day21 python基础---面向对象进阶--内置方法
    Day19&20 python基础---面向对象进阶--装饰器函数,反射,内置方法
    Day18 python基础---面向对象三大特性---多态、封装
    Day17 python基础---面向对象三大特性---继承
    Day16 python基础---面向对象初识---组合
  • 原文地址:https://www.cnblogs.com/jinglecode/p/5611594.html
Copyright © 2011-2022 走看看