在TextView中,BlurMaskFilter的行为很奇怪

时间:2018-12-17 10:08:04

标签: java android textview blur

我有以下代码:

String text = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
SpannableStringBuilder ssb = new SpannableStringBuilder(text);
ssb.setSpan(new MaskFilterSpan(new BlurMaskFilter(20, BlurMaskFilter.Blur.NORMAL)),
            3, 7, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
textView.setText(ssb);

这按预期工作。只有“ DEFG ”变得模糊。 当我尝试使用新文本“ ABCDEFGABCDEFGABCDEFGABCDEFG”再次尝试时,事情变得很奇怪。如您所见,在该字符串中重复了“ ABCDEFG”,并且每个“ DEFG ”上的模糊效果也都被重复,这是我从未想过的。

如果我尝试使用“ ABCDEABCDEABCDEABCDEABCDE”,则每个“ DE ”都会变得模糊。

再次使用“ ABCABCABCABCABCABCABCABC”,什么都没有发生

通过这个简单的测试,我可以得到正在应用模糊效果的模式,但是我不明白的是,为什么?

BlurMaskFilter为什么这样工作?

我之所以首先进行此愚蠢的测试是因为,我的应用程序得到了意外的结果。有些未应用,有些已重复应用。即使在了解了具有模糊效果的图案之后,它仍然很难使用并且几乎没有用。

在我的测试中,许多其他设备也存在相同的问题,其中包括三星Galaxy S7 Edge(Android 8.0),Galaxy Note 2(Android 4.4.2)和模拟器。 (例如HTC One 4.3)

我在这里想念东西吗?

0 个答案:

没有答案