1. 程式人生 > >Android 引導頁浮層挖洞

Android 引導頁浮層挖洞

使用者第一次進入應用需要顯示引導,有的按鈕位置由於解析度不同,沒法簡單的用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圖層上。