在写文章前说一点,有人可能先前遇到过,就是clipPath有些手机运行正常,有些却不正常。我们关闭硬件加速即可。activity声明里加入这段
android:hardwareAccelerated="false"
此方法在游戏开发使用非常常见,在普通的APP中也是常见的,如圆角头像,翻书的效果……

我们这里就用翻书效果为例子,列出片段代码,完整的请移步
安卓阅读翻书效果 private void drawCurrentPageArea(Canvas canvas, Bitmap bitmap, Path path) {
mPath0.reset();
mPath0.moveTo(mBezierStart1.x, mBezierStart1.y);
mPath0.quadTo(mBezierControl1.x, mBezierControl1.y, mBezierEnd1.x,
mBezierEnd1.y);
mPath0.lineTo(mTouch.x, mTouch.y);
mPath0.lineTo(mBezierEnd2.x, mBezierEnd2.y);
mPath0.quadTo(mBezierControl2.x, mBezierControl2.y, mBezierStart2.x,
mBezierStart2.y);
mPath0.lineTo(mCornerX, mCornerY);
mPath0.close();
canvas.save();
canvas.clipPath(path, Region.Op.XOR);
canvas.drawBitmap(bitmap, 0, 0, null);
canvas.restore();
}
本文链接:https://it72.com/7942.htm