gpt4 book ai didi

android - 如何在 Android 中的 TextView 上撤消 mask 过滤器模糊

转载 作者:行者123 更新时间:2023-12-05 00:17:02 25 4
gpt4 key购买 nike

我使用了 here 中的代码模糊一些文本:

    val radius = msgText.getTextSize() / 3
val mTextFilter = BlurMaskFilter(radius, BlurMaskFilter.Blur.NORMAL)
msgTextView.getPaint().setMaskFilter(mTextFilter)

...在某些时候我想取消模糊所以我尝试了:

msgTextView.getPaint().setMaskFilter(null)

但这并不清除文本中的模糊,尽管有描述:

package android.graphics;

...

public class Paint {

...
/**
* Set or clear the maskfilter object.
* <p />
* Pass null to clear any previous maskfilter.
* As a convenience, the parameter passed is also returned.
*
* @param maskfilter May be null. The maskfilter to be installed in the
* paint
* @return maskfilter
*/
public MaskFilter setMaskFilter(MaskFilter maskfilter) {
long maskfilterNative = 0;
if (maskfilter != null) {
maskfilterNative = maskfilter.native_instance;
}
nSetMaskFilter(mNativePaint, maskfilterNative);
mMaskFilter = maskfilter;
return maskfilter;
}
...
}

所以我很困惑。有什么想法吗?

最佳答案

您的代码是完美的,只是您需要根据需要添加这些行!

设置模糊效果

val radius = msgText.getTextSize() / 3
val mTextFilter = BlurMaskFilter(radius, BlurMaskFilter.Blur.NORMAL)
msgTextView.getPaint().setMaskFilter(mTextFilter)

去除模糊效果

msgTextView.setLayerType(View.LAYER_TYPE_SOFTWARE,null);
// Clear any previous
MaskFilter mTextView.getPaint().setMaskFilter(null);

应用内部模糊

applyBlurMaskFilter(mTextView, BlurMaskFilter.Blur.INNER);

应用外部模糊

applyBlurMaskFilter(mTextView, BlurMaskFilter.Blur.OUTER);

应用普通模糊

applyBlurMaskFilter(mTextView, BlurMaskFilter.Blur.NORMAL);

应用实体模糊

applyBlurMaskFilter(mTextView, BlurMaskFilter.Blur.SOLID);

这里 applyBlurMaskFilter() 是用户定义的方法。

关于android - 如何在 Android 中的 TextView 上撤消 mask 过滤器模糊,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49774819/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com