14
我試圖使自定義的ViewGroup佈局形狀,佈局是星或心,三角形,甚至使線對角線。android使自定義的佈局形狀
因此,我們的目標是爲兩個或更多ImageView製作拼貼視圖。
可能有人給我一個圖書館或辦法做到這招?
我試圖使自定義的ViewGroup佈局形狀,佈局是星或心,三角形,甚至使線對角線。android使自定義的佈局形狀
因此,我們的目標是爲兩個或更多ImageView製作拼貼視圖。
可能有人給我一個圖書館或辦法做到這招?
您可以使用標準方法Canvas
和BitmapShader
來實現此目的。
第一種方法看起來是這樣的:
@Override protected void onDraw(Canvas canvas) {
//bitmap 01
canvas.save(Canvas.CLIP_SAVE_FLAG);
canvas.clipPath(shape01);
canvas.drawBitmap(bitmap01, 0, 0, paint);
canvas.restore();
//bitmap 02
canvas.save(Canvas.CLIP_SAVE_FLAG);
canvas.clipPath(shape02);
canvas.drawBitmap(bitmap02, 0, 0, paint);
canvas.restore();
}
第二個看起來是這樣的:
BitmapShader shader01 = new BitmapShader(bitmap01, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP);
BitmapShader shader02 = new BitmapShader(bitmap02, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP);
Paint paint01 = new Paint();
Paint paint02 = new Paint();
paint01.setShader(shader01);
paint02.setShader(shader02);
@Override protected void onDraw(Canvas canvas) {
//bitmap 01
canvas.drawPath(path01, paint01);
//bitmap 02
canvas.drawPath(path02, paint02);
}
所以,你需要定義你的形狀,負荷位圖和繪製它們。
有沒有簡單的方法來做到這一點與「ImageViews」你的選擇是使用畫布。 – doubleA
我不想在ImageViews上應用這個,我想爲ViewGroups做到這一點。 –
@MarwanZakariya是否能夠得到它看起來很酷的答案? – SAVVY