解决安卓TextView异常换行,参差不齐等问题
2016-06-23 17:34
190 查看
参考: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);
}
}
关于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);
}
}
相关文章推荐
- Android CardView 开发过程中要注意的细节
- viewpager与viewflipper详解以及横幅轮播页Banner
- 【那些年遇到过的面试题】 rpm包
- C++07、浅谈继承和构造函数
- 头文件
- 转 : React Native 开发之 IDE 选型和配置
- ATL CLR MFC Win32 常规 的区别
- uboot 分析及移植
- avformat_open_input
- WebRTC源代码探索之旅——多线程篇-8
- Android热修复实现
- android 上传文件到服务器代码实例
- JAVA 23种设计模式(转)
- C# 图形面积计算
- 微信开发中网页授权access_token与基础支持的access_token异同
- 人脸识别经典算法(一):特征脸(Eigenface)
- 内存分析2
- Eclipse单步调试
- WebRTC源代码探索之旅——多线程篇-7
- android 代码混淆