解决TextView排版混乱或者自动换行的问题
其实在TextView中遇到排版自动换行而导致混乱不堪的情况是非常常见的,而且导致这种问题产生的原因就是英文和中文混合输入,半角字符和全角字符混合在一起了。一般情况下,我们输入的数字、字母以及英文标点都是半角字符,所以占位无法确定,它们与汉字的占位不同,由于这个原因,导致很多文字的排版都是参差不齐的。
原因找到了,自然解决方法就来了,一般有以下两种方法来解决这种问题。
1、将TextView中的字符全角化。即将所有的数字、字母及标点全部转为全角字符,使它们与汉字同占两个字节,这样就可以避免由于占位导致的排版混乱问题了。
半角转为全角的代码如下:
/**
* 半角转换为全角
*
* @param str
* @return
*/
public static String ToDBC(String str) {
char[] c = str.toCharArray();
for (int i = 0; i < c.length; i++) {
if (c[i] == 12288) {
c[i] = (char) 32;
continue;
}
if (c[i] > 65280 && c[i] < 65375)
c[i] = (char) (c[i] - 65248);
}
return new String(c);
}
2. 去除特殊字符或将所有中文标号替换为英文标号。利用正则表达式将所有特殊字符过滤,将中文标号替换为英文标号。
/**
* 去除特殊字符或将所有中文标号替换为英文标号
*
* @param str
* @return
*/
public static String stringFilter(String str) {
str = str.replaceAll("【", "[").replaceAll("】", "]")
.replaceAll("!", "!").replaceAll(":", ":");// 替换中文标号
String regEx = "[『』]"; // 清除掉特殊字符
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(str);
return m.replaceAll("").trim();
}
解决TextView排版混乱或者自动换行的问题的更多相关文章
- 在使用rem布局的时候,遇到的样式排版混乱问题,
在使用rem布局的时候,遇到的样式排版混乱问题, 问题1:设置字体为rem单位,但是没有设置line-height为100%, 即 * { line-height: 1; ...
- 解决TextView drawableRight左侧图片大小不可控的问题
通过代码来修改图片的大小: Drawable rightDrawable= context.getResources().getDrawable(R.drawable.more); rightDraw ...
- 使用echart的雷达图的时候,如果文字越界的解决办法记录,标签文字自动换行
使用echart的雷达图的时候,如果文字越界的解决办法记录,标签文字自动换行 前几天项目中有一个图表的是用echart生成的,遇到一个问题,就是在手机端显示的售时候,如果文字太长就会超出div,之前的 ...
- 015——VUE中使用key唯一令牌解决表单值混乱问题
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- android中的textview显示汉字不能自动换行的一个解决办法
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_ ...
- 解决TextView在显示文字的时候,一行还没显示满就跳到下一行
转载请注明:转自 http://blog.csdn.NET/u011176685/article/details/48295185 一.问题描述: Android的TextView在显示文字的时候,如 ...
- Android AutoWrapTextView 解决中英文排版问题
1.概述 最近项目有新需求,UED给了个卡券密码的UI样式,如图: 我一看很简单啊,一个TextView解决问题,然后做好以后在模拟器里一看..... 纳尼,这个时候才想起来,TextView 中英文 ...
- 解决TextView与RadioGroup不对齐的问题
TextView和RadioGroup是在同一个LinearLayout中的,控件摆放方式是android:orientation="horizontal",虽然三个控件是水平摆放 ...
- Android开发之TextView排版问题
下面直接是关于解决该问题的代码(根据别人的代码进行了修正以及测试,保证可以修改字体尺寸.颜色.根据padding调整,如果需要支持其他的格式可以将对应的属性添加至Paint类型的对象中): 1 p ...
随机推荐
- CF 586A 找1的个数和101的个数
Sample test(s) input 50 1 0 1 1 output 4 input 71 0 1 0 0 1 0 output 4 input 10 output 0 # include & ...
- Linux下光盘镜像生成和刻录
mkiosfs命令如在/root/下有文件file1 file2 file3maiosfs -o img.ios file1 file2 file3该命令将file1 file2 file3放入到im ...
- 【AtCoder】AGC023 A-F题解
可以说是第一场AGC了,做了三道题之后还有30min,杠了一下D题发现杠不出来,三题滚粗了 rating起步1300+,感觉还是很菜... 只有三题水平显然以后还会疯狂--啊(CF的惨痛经历) 改题的 ...
- mysql 存储过程详解
MySQL 存储过程是从 MySQL 5.0 开始增加的新功能.存储过程的优点有一箩筐.不过最主要的还是执行效率和SQL 代码封装.特别是 SQL 代码封装功能,如果没有存储过程,在外部程序访问数据库 ...
- 关于Python Profilers性能分析器
1. 介绍性能分析器 作者:btchenguang profiler是一个程序,用来描述运行时的程序性能,并且从不同方面提供统计数据加以表述.Python中含有3个模块提供这样的功能,分别是cProf ...
- 【WIN10】程序內文件讀取與保存
DEMO下載:http://yunpan.cn/cFHIZNmAy4ZtH 访问密码 cf79 1.讀取與保存文件 Assets一般被認為是保存用戶文件數據的地方.同時,微軟還支持用戶自己創建文件夾 ...
- 【BZOJ 3470】3470: Freda’s Walk 期望
3470: Freda’s Walk Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 42 Solved: 22 Description 雨后的Poet ...
- CF961E Tufurama 主席树
对原问题进行转化 考虑对每个$i$,询问在$j \in [i + 1, a[i]]$中满足$a[j] \geqslant i$的个数 这样子可以做到不重不漏 个数满足差分的性质,使用主席树来维护即可 ...
- bzoj 3275 最小割
给你一堆东西,叫你选一些东西出来,使得价值最大,要求选出的东西集合中的任意a,b满足性质p. 可以考虑: 1.拟阵? 2.二分图? 这道题由于数学硬伤,不知道不存在两条直角边是奇数,斜边是整数的直角三 ...
- IO流-递归删除带内容的目录
/* * 需求:递归删除带内容的目录 * * 目录:demo * ------------------------------------------------------------------- ...