最近在做android的view抖动动画、旋转动画时候碰到锯齿问题,网上查了下大概是5个方法:
(1)给paint设置属性:
paint.setAntiAlias(true);
(2)给canvas设置属性:
canvas.setDrawFilter(new PaintFlagsDrawFilter(0, Paint.ANTI_ALIAS_FLAG|Paint.FILTER_BITMAP_FLAG));
(3)给需要动画的根布局设置padding。
(4)在开启动画时候,使用硬件加速或软件加速,动画结束时关闭。
setLayerType(View.LAYER_TYPE_HARDWARE, new Paint());
setLayerType(View.LAYER_TYPE_NONE, new Paint());
官方资料如下:
(5)切图时在图片最外层留一个像素的透明背景.
结果:由于我做的是launcher动画,方法1和2都不适应,方法5没试过,方法3+方法4有效果。
参考资料:https://zhuanlan.zhihu.com/p/75458539