缩放后,Android TextView显得模糊

时间:2019-03-25 13:57:31

标签: android android-animation android-view

我最近发现,在{strong> 1.0 - 1.49 范围内缩放时,Android上的TextView呈现模糊/模糊。

我不确定为什么会发生这种情况,但是当视图在此范围内的XY轴上缩放时,看起来好像使用了未缩放版本的栅格版本。但是,如果视图缩放比例的值大于 1.5 (150%),则问题消失。请以完整分辨率检查所附的屏幕快照拼贴:https://i.imgur.com/A31ZC1N.png

scale issues

附带的屏幕截图来自运行Android 7.1.2(API级别25)的真实设备。

我也在运行Android 9(API级别28)的仿真器上对此进行了测试,结果是相同的。但是,在我的另一台设备(OnePlus 6,Android 9)上,此问题不存在,一切都可以很好地扩展,而且没有模糊性。

对我来说,一种解决方法是禁用当前活动的硬件加速:

<activity android:hardwareAccelerated="false" />

另一种解决方法是在要缩放的视图的父级上设置软件层:

((View) mScaleValueTextView.getParent()).setLayerType(View.LAYER_TYPE_SOFTWARE, null);

这两种方法都将导致TextView的缩放而没有提到的问题,但是这些方法都有缺点,我注意到的第一个方法是{{1} }}属性未绘制。

为了演示默认行为,我创建了示例应用程序,在其中添加了TextViewelevation来控制比例,范围从100%到200%。

通过这种方法缩放视图:

TextView

您可以获取整个示例应用here

由于同一代码在不同设备上的行为不同,并且该问题仅发生在上述比例范围之间,因此我认为这是较低级别性能优化的结果,该性能优化可能在某些设备上实现,也可能未实现。

是否有任何方法可以以干净的方式禁用或解决此问题,而不会产生有害的副作用?

0 个答案:

没有答案