硬件加速引起的clipPath失效问题"/>
android canvas 卡顿,Android Canvas 硬件加速引起的clipPath失效问题
自定义View时,可以通过Canvas裁剪画布实现圆角的效果。
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
path = new Path();
path.addCircle(100 + bmpWidth / 2, 100 + bmpHeight / 2, bmpWidth / 2, Path.Direction.CW);
canvas.drawPath(path, paint);
canvas.save();
canvas.clipPath(path);
canvas.drawBitmap(bitmap, 100, 100, paint);
canvas.restore();
}
在4.3以下运行,无法显示裁剪效果。
这是由于开启了硬件加速导致的。
.html
Hardware acceleration is enabled by default if your Target API level is >=14, but can also be explicitly enabled.
硬件加速从Android 4.0 (API level 14)开始默认是打开的。
更多推荐
android canvas 卡顿,Android Canvas 硬件加速引起的clipPath失效问题
发布评论