Поведение BlurMaskFilter странное в TextView - PullRequest
0 голосов
/ 17 декабря 2018

У меня есть код ниже:

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 работает таким образом?

Причина, по которой я впервые провела этот глупый тест, заключалась в том, что я получил неожиданные результаты в своем приложении.Некоторые не применялись, а некоторые применялись неоднократно.Даже после понимания шаблона с эффектом размытия его действительно трудно использовать и практически бесполезно.

В моем тесте такая же проблема была и во многих других устройствах, включая Samsung Galaxy S7 Edge (Android 8.0).), Galaxy Note 2 (Android 4.4.2) и эмуляторы.(например, HTC One 4.3)

Я что-то здесь упускаю?

...