0

環境: Android 4.2

レイアウト/アクティビティ_main.xml

<EditText
    android:id="@+id/et_content"
    android:background="#AAAAAA"
    android:layout_width="match_parent"
    android:textSize="40sp"
    android:layout_height="match_parent"
    android:gravity="left|top" >

    <requestFocus />
</EditText>

テスト1(成功!効果あり):

SpannableStringBuilder spanText = SpannableStringBuilder.valueOf("abcdefghijklmnopqrstuvwxyz");
MaskFilterSpan maskFilterSpan = new MaskFilterSpan(new BlurMaskFilter(3, Blur.OUTER));
spanText.setSpan(maskFilterSpan, 0, spanText.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
etContent.setText(spanText);

テスト 2 (失敗! 効果なし、なぜ ??? ):

String str = etContent.getText().toString();
SpannableStringBuilder spanText = SpannableStringBuilder.valueOf(str);
MaskFilterSpan maskFilterSpan = new MaskFilterSpan(new BlurMaskFilter(3, Blur.OUTER));
spanText.setSpan(maskFilterSpan, 0, etContent.length(), Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
etContent.setText(spanText);

違いは、コードの 2 番目の段落が EditText から取得したデータであることです。2 番目のコードはString str = etContent.getText().toString();を使用します。 コードの最初の部分がコード editText.setText("123456") を追加する前に試してみましたが、ぼかし効果も失敗しました。

誰が私を助けることができます?

4

1 に答える 1