TextView中的小方格
最近要写一个小程序,要在TextView里面显示中文,可是出现好多小方格,出现这种情况的原因是TextView并不支持这些字符。
这有可以分成两种情况,一是字库里不包含的字,通常是一些特别冷僻的字。这种对我们写程序来说是无能为力的,只能靠用户自己去更新系统的字库。第二种情况是有一些特殊的字符,比如'\r'(回车),TextView不能识别。所以解决办法就是把它过滤掉。
这里提供两种方法:
一种很容易想到,就是一个一个字符去比较,等于'\r'就delete掉。
view plaincopy to clipboardprint?
String str;
StringBuffer buf = new StringBuffer(str);
for(int i=0;i<buf.length();i++)
if(buf.charAt(i) == '\r')
buf = buf.deleteCharAt(i);
str = buf.toString();
String str;
StringBuffer buf = new StringBuffer(str);
for(int i=0;i<buf.length();i++)
if(buf.charAt(i) == '\r')
buf = buf.deleteCharAt(i);
str = buf.toString();
还有一种方法是用TextView 的setTransformationMethod(TransformationMethod method)把所有字库不支持的char都过滤掉。
TransformationMethod只是一个接口,如果要实现替换操作,最方便的做法是继承抽象类ReplacementTransformationMethod,ReplacementTransformationMethod实现了TransformationMethod的方法,并提供了两个抽象函数。getOriginal()返回的是需要被替换的char[],getReplacement()返回的是替换后的char[]。
这里我用空格替换回车,3替换2,注意它们是一一对应的。
view plaincopy to clipboardprint?
private class MyTransformationMethod extends ReplacementTransformationMethod{
@Override
protected char[] getOriginal() {
char[] original={'\r','2'};
return original;
}
@Override
protected char[] getReplacement() {
char[] replacement={' ','3'};
return replacement;
}
}
private class MyTransformationMethod extends ReplacementTransformationMethod{
@Override
protected char[] getOriginal() {
char[] original={'\r','2'};
return original;
}
@Override
protected char[] getReplacement() {
char[] replacement={' ','3'};
return replacement;
}
}
然后只要在开始的地方调用一次textView.setTransformationMethod(new MyTransformationMethod())就可以了。
显然,后面一种方法更好一些。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/Seaside_Boy/archive/2010/01/20/5218536.aspx
分享到:
相关推荐
在Android开发中,TextView是用于显示文本的基本组件。然而,除了文字之外,有时我们还需要在TextView中嵌入图片或图像,以实现更丰富的用户界面。本文将详细介绍如何在Android的TextView中显示图片和图像。 首先,...
在Android开发中,TextView是用于显示文本的基本组件,它在用户界面中扮演着重要的角色。然而,当TextView显示中英文混合或包含特殊字符时,可能会出现末尾对齐不一致的问题,这会严重影响UI的美观性和用户体验。...
在Android开发中,有时我们需要在同一个TextView中展示不同大小的文字,并让它们保持垂直居中对齐。这可以通过使用SpannableString来实现。SpannableString是Android SDK提供的一种可操作字符串对象,允许我们在字符...
在Android开发中,TextView是用于显示单行或多行文本的视图组件,它在用户界面设计中扮演着重要角色。当我们需要在一个TextView中展示不同字体大小和颜色的文本时,可以借助SpannableString和相关Span类来实现。下面...
在Android开发中,TextView是用于显示文本的基本组件,它的功能强大且灵活。当我们处理中英文混合的文本时,可能会遇到一些棘手的问题,比如中英文混合导致的提前换行问题。这个问题通常出现在当一个英文单词与一个...
在Android开发中,文本视图(TextView)是用于展示文本的基本组件。然而,有时我们可能需要实现更复杂的显示效果,比如在应用中播放通知字幕时,逐行逐字显示文本,这通常用于模仿电视字幕或者游戏中的对话效果。在...
在Android开发中,TextView是用于显示文本的基本组件,但其实它并不局限于纯文本,还能通过一些方式来显示图片。这个Demo就是关于如何在TextView中嵌入并显示图片的一个实例。以下我们将详细探讨如何利用TextView的...
在Android开发中,`TextView`通常用于显示文本内容,但有时候我们可能希望在其中嵌入动态图像,如GIF格式的图片。`TextView`默认并不支持直接显示GIF动画,因此需要通过一些特殊的方式来实现这一功能。本篇将详细...
在Android开发中,TextView是用于显示文本的基本组件。然而,有时候我们可能需要让TextView中的文字以特定的角度旋转显示,比如垂直显示或者倾斜显示,来满足界面设计的需求。这就是"旋转TextView文字显示方向"这一...
然而,当文本内容过长时,默认的TextView可能无法妥善处理,导致显示不全或者用户体验不佳。为了解决这个问题,开发者通常需要进行自定义扩展,以实现更灵活的文本显示功能。本篇文章将深入探讨如何自定义TextView来...
在Android开发中,有时我们需要在TextView中展示动态的GIF图像,而系统默认的TextView并不支持直接播放GIF。为了实现这一功能,我们需要自定义一个TextView,并通过一系列技术手段来处理GIF文件。以下是如何在自定义...
在Android原生的TextView中,仅支持有限的HTML标签,如`<b>`(粗体)、`<i>`(斜体)和`<u>`(下划线),但无法直接处理复杂的HTML内容,如图像、链接或自定义样式。这就导致了开发者在需要展示富文本内容时面临困难...
在Android开发中,TextView是用于显示文本的基本组件,它在用户界面中扮演着重要的角色。然而,当TextView中包含中文、英文、数字和符号时,可能会出现排版问题,如字符间距离不均、换行混乱等。为了解决这些问题,...
在Android开发中,`TextView` 是一个非常基础且重要的组件,用于显示文本信息。当我们需要在`TextView`中展示大量文字,并希望它能自动适应屏幕大小和内容长度时,就需要用到字体自适应的技术。标题“TextView的字体...
TextView是Android中最常用的用于显示文本的控件之一。而Paint对象则是用来控制文本绘制方式的对象,包括颜色、字体大小、样式等等。 1. **TextView**: TextView用于显示文本信息,可以通过多种属性来自定义其外观...
在Android开发中,TextView是用于显示纯文本的常见组件,但在某些场景下,我们可能需要在TextView中展示富文本,包括HTML格式的内容。这通常涉及到图片的显示和点击交互。以下将详细介绍如何在Android的TextView中...
在XML布局文件中定义,或者在代码中创建,TextView可以用来显示静态文本,也可以动态加载数据。 2. **显示HTML内容**: - Android的TextView默认并不支持HTML解析,但通过`Html.fromHtml()`方法,我们可以将HTML...
视频与票的图标跟在标题后面显示,当标题过长时icon显示到省略号…后(textview省略号显示,图标自动靠后)。 二、问题解决 TextView可以通过 android:ellipsize=end android:singleLine=true实现单行省略, 但是...
在Android开发中,`TextView`是用于展示文本的最基础且重要的组件。通常情况下,`TextView`能够简单地展示纯文本,但在某些场景下,我们可能需要更复杂的文本格式,如加粗、斜体、超链接、颜色变化等,这时就需要...
在Android开发中,TextView是显示文本的基本控件,它的使用非常广泛,无论是显示简单的文字信息,还是复杂的格式化文本,TextView都是不可或缺的一部分。这个压缩包文件"安卓textView相关-TextView中文本的处理.rar...