1
仅用于学习目的,我想知道当我们在网格上拖动应用程序图标时,如何在nova启动器中创建阴影图像,我在Google中搜索了整整一天,但是我无法找到任何建议,所以如果你们知道它是如何绘制的,它会更有帮助。如何在android中创建图标阴影
在此先感谢。
编辑: 经过一点一点的学习就可以用下面的代码实现。
public static Bitmap getShadowBitmap(Bitmap src) {
Bitmap bmOut = Bitmap.createBitmap(src.getWidth(),
src.getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bmOut);
canvas.drawColor(0, PorterDuff.Mode.CLEAR);
Paint ptBlur = new Paint();
ptBlur.setMaskFilter(new BlurMaskFilter(5, BlurMaskFilter.Blur.NORMAL));
int[] offsetXY = new int[2];
Bitmap bmAlpha = src.extractAlpha(ptBlur, offsetXY);
Paint ptAlphaColor = new Paint();
ptAlphaColor.setColor(Color.WHITE);
canvas.drawBitmap(bmAlpha, offsetXY[0], offsetXY[1], ptAlphaColor);
bmAlpha.recycle();
Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_OUT));
paint.setColor(Color.TRANSPARENT);
paint.setAlpha(0);
canvas.drawBitmap(src, 0, 0, paint);
return bmOut;
}
感谢@Nitesh您的快速重播,我将检查约ShadowLayout库的细节。 – sreeramu