我想获得以下效果。我的屏幕上有一个图像。当导航抽屉(或另一个遮挡视图)出现在我的图像顶部时,我希望不是覆盖图像,而是显示图像的负片。
下面的图片可能有助于显示我的意思。
关于如何实现这一目标的任何想法?我想为菜单图标获得相同的效果。
答案 0 :(得分:1)
我会这样做:
在要应用否定视图的视图上启用绘图缓存:
view.setDrawingCacheEnabled(真);
单击或拖动抽屉时获取视图的快照:
位图bmp = view.getDrawingCache();
最后覆盖抽屉的onDraw()方法并在其上绘制位图。应用着色器以执行“负面”效果。请参阅:http://chiuki.github.io/android-shaders-filters/#/
答案 1 :(得分:-1)
canvas.drawColor(Color.WHITE);
BitmapDrawable bd = (BitmapDrawable) getResources().getDrawable(R.drawable.your_drawable);
Bitmap bm = bd.getBitmap();
Paint paint = new Paint();
Where the INT ranges from 0 (fully transparent) to 255 (fully opaque).
paint.setAlpha(0);
canvas.drawBitmap(bm, 0, 0, paint);