Java 根据触摸坐标绘制一系列图像

Java 根据触摸坐标绘制一系列图像,java,android,android-animation,Java,Android,Android Animation,我想从触控事件中绘制一系列图像。从onDraw内部返回的路径,我将使用它作为绘制图像的指南。我现在的问题是要显示一系列随机图像,而不仅仅是一个。然后,最终显示的图像将慢慢淡出 我们真的需要看看你尝试了什么,什么没用,你用谷歌搜索了什么教程,弄得什么乱七八糟……你所描述的那种东西听起来像是你可以处理一个触摸事件(tut at)和一个alpha淡入,然后随机选择一个图像……不,我去了你的链接,你肯定需要动画!好主意,谢谢你指导我。现在检查。@kwishnu我已经更新了我的问题。:) publi

我想从触控事件中绘制一系列图像。从
onDraw
内部返回的
路径
,我将使用它作为绘制图像的指南。我现在的问题是要显示一系列随机图像,而不仅仅是一个。然后,最终显示的图像将慢慢淡出


我们真的需要看看你尝试了什么,什么没用,你用谷歌搜索了什么教程,弄得什么乱七八糟……你所描述的那种东西听起来像是你可以处理一个触摸事件(tut at)和一个alpha淡入,然后随机选择一个图像……不,我去了你的链接,你肯定需要动画!好主意,谢谢你指导我。现在检查。@kwishnu我已经更新了我的问题。:)
  public class SingleTouchEventView extends View {
  private Paint paint = new Paint();
  private Path path = new Path();
  float eventX;
  float eventY;
  Bitmap bmp;

  public SingleTouchEventView(Context context, AttributeSet attrs) {
    super(context, attrs);

    paint.setAntiAlias(true);
    paint.setStrokeWidth(6f);
    paint.setColor(Color.BLACK);
    paint.setStyle(Paint.Style.STROKE);
    paint.setStrokeJoin(Paint.Join.ROUND);
  }

  @SuppressLint("DrawAllocation")
@Override
  protected void onDraw(Canvas canvas) {

    /*Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.ic_stub);
    canvas.drawColor(Color.BLACK);
    canvas.drawBitmap(bmp, 10, 10, null);*/
    canvas.drawPath(path, paint);


   int rand = (int) (Math.random() * 3);
    Log.d("Integer", ""+rand);
   if(rand==0){
    bmp = BitmapFactory.decodeResource(getResources(), R.drawable.ic_stub);
   }else
    if(rand==1)
    {
        bmp = BitmapFactory.decodeResource(getResources(), R.drawable.ic_stub);
    }
    else if(rand==2)
    {
        bmp = BitmapFactory.decodeResource(getResources(), R.drawable.bg_striped_img);
    }

canvas.drawBitmap(bmp, eventX, eventY, paint);
  }

  @Override
  public boolean onTouchEvent(MotionEvent event) {
    eventX = event.getX();
    eventY = event.getY();

    switch (event.getAction()) {
    case MotionEvent.ACTION_DOWN:
      path.moveTo(eventX, eventY);
      return true;
    case MotionEvent.ACTION_MOVE:
      path.lineTo(eventX, eventY);
      break;
    case MotionEvent.ACTION_UP:
      // nothing to do
      break;
    default:
      return false;
    }

    // Schedules a repaint.
    invalidate();
    return true;
  }
}