在TextView中设置文本时出现模糊的情况

10

我正在研究在文本视图中完全模糊文本的方法。即使像素化,文本也应该完全无法辨认。目前我使用的方法是使用阴影,但这似乎非常低效。有没有更好的解决方案?


将TextView的背景色设置为文字的颜色即可 ;) - Tim
不可能的...你应该看到单词之间的空格... - K Roobroeck
为了一些花哨的用户界面而进行像素化处理吗?为什么不像密码一样用星号(*)替换文本字符呢? - Ramp
它必须是TextView吗?如果需要,是否可以是ImageView,在其中放置文本并进行模糊处理? - Neil Townsend
4个回答

35

我不喜欢其他答案中使用的绘图方法。以下代码适用于我,根据字体大小计算半径并直接应用于TextView。

if (Build.VERSION.SDK_INT >= 11) {
     yourTextView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
}
float radius = yourTextView.getTextSize() / 3;
BlurMaskFilter filter = new BlurMaskFilter(radius, BlurMaskFilter.Blur.NORMAL);
yourTextView.getPaint().setMaskFilter(filter);

1
完美运行! - c0dehunter
@theczechsensation 有没有办法将默认的模糊颜色更改为其他颜色? - Asme Just
5
您可以使用 yourTextView.getPaint().setMaskFilter(null) 来清除模糊效果。 - Shahood ul Hassan

4
你应该尝试使用canvas而不是TextView,并且用模糊效果绘制文本。有很多方法可以使用BlurMaskFilter,你可以这样使用它:
paint.setMaskFilter(new BlurMaskFilter(float radius, BlurMaskFilter.Blur style));

0

您可以尝试以下方法:

  1. 每当您想显示模糊文本时,请为您的TextView使用专门的字体,将其添加到项目的资源文件夹中。
  2. 尝试将透明颜色[#00ffffff]设置为文本,并给它一些阴影。

我希望以上方法之一能够帮助您。


方案2不可行,将文本设置为透明色时不会生成阴影。 - K Roobroeck
什么是“专用”字体? - Ramp
是的。尝试第一个解决方案怎么样? - Gagan
我指的是一种为特定目的而设计的自定义字体。可能类似于这样的字体:http://www.fontspace.com/uzim/thundershower - Gagan

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接