首页 > 解决方案 > 应用 BlurMaskFilter 时 TextView 被切断

问题描述

我想模糊一个TextView的文本,但是文本被左右截断了。

截断文本的图像

在此处输入图像描述

我试图增加填充,边距。改变重力,启用/禁用字体填充。设置一个固定的高度,降低字体大小等。所有的结果都是一样的:边被切断了。

掩码过滤器的设置只有两行:

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" />

我正在寻找一种解决方案来完全查看文本,而不会在边缘出现截断。

标签: javaandroidkotlin

解决方案


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

android:layerType="software"

视图需要硬件加速才能在其边界之外绘制。请注意,填充在这里没有帮助,因为视图内容也被填充剪裁。


推荐阅读