相关疑难解决方法(0)

如何为两个不同颜色对象的重叠区域设置组合颜色?

我用两种不同的颜色创建不同的自定义视图.根据我的应用功能,当拖动对象相互重叠时,用户将在屏幕上拖动这些对象.我想区分重叠区域,如何设置重叠区域的组合颜色.请看下面的图片.这里我使用canvas来创建那些自定义视图,两个圆圈是两个不同的视图.

在此输入图像描述

编辑: 如果我使用不透明度128我能够看到背景颜色,但我想要重叠对象颜色的组合颜色.

android drawing

27
推荐指数
3
解决办法
7536
查看次数

如何覆盖onDraw,以便我可以获取绘制的内容(作为位图)并对其进行转换?

下面的方法有效,但不幸的是,这种方法涉及创建整个屏幕大小的位图 - 而不仅仅是绘制的区域.如果我使用它来绘制UI元素,则会为每个UI元素重新绘制它.这可以更有效地完成吗?

@Override
protected void onDraw(Canvas canvas) {
    //TODO: Reduce the burden from multiple drawing
    Bitmap bitmap=Bitmap.createBitmap(canvas.getWidth(), canvas.getHeight(), Config.ARGB_8888);
    Canvas offscreen=new Canvas(bitmap);
    super.onDraw(offscreen);
    //Then draw onscreen
    Paint p=new Paint();
    p.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DARKEN));
    canvas.drawBitmap(bitmap, 0, 0, p);
}
Run Code Online (Sandbox Code Playgroud)

android

7
推荐指数
2
解决办法
2万
查看次数

标签 统计

android ×2

drawing ×1