java - 应用 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" />
我正在寻找一种解决方案来完全查看文本,而不会在边缘出现截断。
解决方案
<TextView>
从您的标签中删除此属性:
android:layerType="software"
视图需要硬件加速才能在其边界之外绘制。请注意,填充在这里没有帮助,因为视图内容也被填充剪裁。
推荐阅读
- javascript - Cheerio 从 .text() 获取包含中断和 H 标记的内容
- laravel - 如何在控制器中使用 Laravel 中的自定义保护登录用户
- laravel - 带有搜索错误链接的laravel分页
- node.js - React Native:你需要哪些全局包保持最新?
- logging - Scala Cats:如何测试日志记录与如何登录生产代码
- tensorflow - 使用 Tensorflow/Keras 求解微分方程的自定义损失函数问题
- java - 从字符串数组中删除元素后,如何减少元素的索引?
- css - 在 D3 中,如何在使用变换旋转布置其位置后旋转字母?
- python - 为什么 not (a and b) 与 not a and not b 不一样?
- typescript - 打字稿:对象数组中的联合类型