一个简单的绘图示例 [英] A simple drawing Example
本文介绍了一个简单的绘图示例的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这code应该借鉴的东西,但是当我移动我的手指不画任何东西。请帮我调试。
@覆盖 保护无效的onDraw(帆布油画){
canvas.drawPath(路径,油漆);
}
@覆盖
公共布尔onTouchEvent(MotionEvent事件){
浮eventX = event.getX();
浮eventY = event.getY(); 开关(event.getAction()){
案例MotionEvent.ACTION_DOWN:
path.moveTo(eventX,eventY);
返回true;
案例MotionEvent.ACTION_MOVE:
path.lineTo(eventX,eventY);
打破;
案例MotionEvent.ACTION_UP:
// 没事做
打破;
默认:
返回false;
} //时间表重绘。
无效();
返回true;
}
}
解决方案
试试这个
@覆盖 保护无效的onDraw(帆布油画)
{
canvas.drawPath(路径,油漆);
}
@覆盖
公共布尔onTouchEvent(MotionEvent事件){
浮eventX = event.getX();
浮eventY = event.getY(); 开关(event.getAction()){
案例MotionEvent.ACTION_DOWN:
path.moveTo(eventX,eventY);
path.lineTo(eventX,eventY);
返回true;
案例MotionEvent.ACTION_MOVE:
path.quadTo(eventX,eventY,(X + eventX)/ 2,(Y + eventY)/ 2);
打破;
案例MotionEvent.ACTION_UP:
canvas.drawPath(路径,油漆);
//杀死这个,所以我们不要双击平局
path.reset();
打破;
默认:
返回false;
} //时间表重绘。
无效();
返回true;
}
}
有关详细信息,看一看
<一个href=\"http://$c$c.google.com/p/strokesformartians/source/browse/trunk/src/se/combitech/strokesformartians/drawing/FingerPaint.java?r=120\" rel=\"nofollow\">http://$c$c.google.com/p/strokesformartians/source/browse/trunk/src/se/combitech/strokesformartians/drawing/FingerPaint.java?r=120
这可能会帮助你。
This code should be drawing things, but it doesn't draw anything when I move my finger. Please help me debug it.
@Override
protected void onDraw(Canvas canvas) {
canvas.drawPath(path, paint);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
float eventX = event.getX();
float 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;
}
}
解决方案
Try this
@Override
protected void onDraw(Canvas canvas)
{
canvas.drawPath(path, paint);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
float eventX = event.getX();
float eventY = event.getY();
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
path.moveTo(eventX, eventY);
path.lineTo(eventX, eventY);
return true;
case MotionEvent.ACTION_MOVE:
path.quadTo(eventX, eventY, (x + eventX)/2, (y + eventY)/2);
break;
case MotionEvent.ACTION_UP:
canvas.drawPath(path, paint);
// kill this so we don't double draw
path.reset();
break;
default:
return false;
}
// Schedules a repaint.
invalidate();
return true;
}
}
For more information take a look
This may help you.
这篇关于一个简单的绘图示例的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文