Android 引導頁浮層挖洞
阿新 • • 發佈:2019-01-04
使用者第一次進入應用需要顯示引導,有的按鈕位置由於解析度不同,沒法簡單的用UI扣好的圖片遮蓋,而且也浪費記憶體。
程式碼如下:
int canvasWidth = canvas.getWidth(); int canvasHeight = canvas.getHeight(); Paint paint = new Paint(); int layerId = canvas.saveLayer(0, 0, canvasWidth, canvasHeight, null, Canvas.ALL_SAVE_FLAG); paint.setColor(getContext().getResources().getColor(R.color.shadow)); canvas.drawRect(0, 0, canvasWidth, canvasHeight, paint); paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR)); canvas.drawCircle(location[0], location[1], radius, paint); paint.setXfermode(null); canvas.restoreToCount(layerId);
思路很簡單,就是新建一個圖層,在圖層上畫一層遮罩,然後利用setXfermode,把遮罩上面扣一個洞,最後把圖層繪製到canvas圖層上。