Android将ImageView置于Canvas之上

时间:2015-03-27 17:52:30

标签: android layout canvas android-imageview android-drawable

如何在以前创建的View Canvas之上显示以编程方式创建的ImageView?我尝试使用了bringToFront(),但没有成功。

代码:

RelativeLayout root = findViewById(R.id.layout);
ImageView img = new ImageView(GameGuessActivity.context);
img.setImageResource(R.drawable.image);

RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(width, height);
params.leftMargin = x;
params.topMargin = y;
root.addView(img, params);
img.bringToFront();

图像正在显示,但在画布下方,我不想要。

1 个答案:

答案 0 :(得分:0)

您必须在画布上重绘您的imageview:

  pcanvas = new Canvas();
        pcanvas.setBitmap(bitmap);    // drawXY will result on that Bitmap
        pcanvas.drawBitmap(bitmap, 0, 0, null); 
        mPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC));
        image.draw(pcanvas);

        img.bringToFront();
        img.invalidate();
        img.draw(pcanvas);