如何通过onclick将图像放在android中的另一个图像上?

时间:2012-05-11 13:27:08

标签: android canvas imageview

我的xml文件中有一个imageview,我想在用户点击的位置放置另一个图像。 我已经使用画布将图像放置在用户点击的位置,但是当我将画布放在我的imageview上时我会陷入困境。 或者,当我们想要在检测到用户点击时将另一个图像放在imageview上时,还有什么方法吗? 感谢

2 个答案:

答案 0 :(得分:2)

由于您已经覆盖View方法,我会说绘制图像而不是ImageView。您的onDraw()方法基本上是:

@Override
public void onDraw(Canvas canvas) {
  canvas.drawBitmap(bottomBitmap, xCorner, yCorner, paintObject);
  canvas.drawBitmap(topImage, fingerXCorner, fingerYCorner, paintObject);
}

编辑:

或者,如果您希望保留ImageView,因为方便的scaletypes,那么您可以覆盖FrameLayout。将ImageView放在其中,然后覆盖draw()方法以绘制位图。

@Override
public void draw(Canvas canvas) {
  super.draw(canvas); // draws everything in the FrameLayout
  canvas.drawBitmap(topImage, fingerXCorner, fingerYCorner, paintObject);
}

答案 1 :(得分:0)

您是否尝试使用ImageButton

<ImageButton
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:onClick="onButtonClick"
    android:src="@drawable/yourImageFile" />

然后在onButtonClick

中定义Activity方法
public void onButtonClick(View v) {
    /* Do something */
}