java - 应用 BlurMaskFilter 时 TextView 被切断

标签 java android kotlin

我想要模糊 TextView 的文本,但文本左右被截断。

剪切文本的图像

enter image description here

我尝试增加填充、边距。改变了重力,启用/禁用字体填充。设置固定高度、降低字体大小等。所有这些都会得到相同的结果:侧面被切掉。

mask滤镜的设置只有两行:

textView.paint.maskFilter = BlurMaskFilter(radius, BlurMaskFilter.Blur.NORMAL)
textView.postInvalidate()

这就是我的 XML 布局的样子:

<TextView 
    android:id="@+id/textView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:layout_marginTop="-1dp"              
    android:includeFontPadding="false"
    android:layerType="software"
    android:textSize="48sp"
    tools:textColor="@color/solid_white"
    tools:text="132" />

我正在寻找一种解决方案,可以完整地查看文本,且边缘不会被切断。

最佳答案

从您的 <TextView> 中删除此属性标签:

android:layerType="software"

View 需要硬件加速才能超出其边界。请注意,填充在这里没有帮助,因为 View 内容也会被填充剪切。

关于java - 应用 BlurMaskFilter 时 TextView 被切断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56115941/

相关文章:

java - 如何在 Java Swing 的 JLabel 中设置行间距/高度?

java - Spring 食谱书: AOP issue

Kotlin 原生多平台

java - 在 Kotlin 中实例化对象时如何覆盖方法?

Java gson 错误 : Expected BEGIN_OBJECT but was BEGIN_ARRAY (but my type map is correct? )

Android Gradle 构建依赖错误

android - ImageView的setImageMatrix在某些设备上无法正常工作(可能比Android 4.4更旧)

java - 登录网站并进一步浏览

java - 在高阶函数中调用带有参数的 lambda

java - 用 swagger 隐藏 api 模型属性