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);
        }
    }

  • 相关阅读:
    [转]Torch是什么?
    去掉 CONSOLE 窗口(转)
    最短路径问题
    最短路,dijstra算法
    最短路,floyd算法,图的最短路径
    freckles
    还是畅通工程,最小生成树kruskal
    More is better
    畅通工程
    人见人爱
  • 原文地址:https://www.cnblogs.com/jinglecode/p/5611594.html
Copyright © 2011-2022 走看看