Pra*_*tik 5 android android-canvas
可能重复
你好朋友,
我创建油漆应用程序,我有问题。如果我绘制没有填充或其他类似边界区域的矩形并更改背景颜色,则矩形填充区域也会更改,这意味着整个画布颜色将填充新的背景颜色。如何保留背景或填充未绑定的画布区域,这是图像
这是初始图像

更改背景颜色后得到这个结果

但如何变得像这样

这是代码(您必须在触摸事件上绑定形状,否则它会改变形状的颜色):
public class ttt extends View {
MyShape myShape;
public ttt(Context context) {
super(context);
// TODO Auto-generated constructor stub
myShape = new MyShape();
Paint paint = new Paint();
paint.setColor(Color.WHITE);
myShape.setPaint(paint);
}
@Override
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
super.onDraw(canvas);
myShape.onDraw(canvas);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
// TODO Auto-generated method stub
int x = (int) event.getX();
int y = (int) event.getY();
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
Paint paint = new Paint();
paint.setColor(Color.BLUE);
myShape.setPaint(paint);
invalidate();
break;
default:
break;
}
return super.onTouchEvent(event);
}
class MyShape {
private Paint paint;
public MyShape() {
// TODO Auto-generated constructor stub
}
public void onDraw(Canvas canvas){
canvas.drawCircle(15, 15, 30, getPaint());
}
/**
* @param paint the paint to set
*/
public void setPaint(Paint paint) {
this.paint = paint;
}
/**
* @return the paint
*/
public Paint getPaint() {
return paint;
}
}
Run Code Online (Sandbox Code Playgroud)
}
| 归档时间: |
|
| 查看次数: |
4278 次 |
| 最近记录: |