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;
}
}