自定义控件:
public class DrawView extends View {
public float currentX = 40;
public float currentY = 50;
//定义并创建画笔
Paint p = new Paint();
public DrawView(Context context){
super(context);
}
public DrawView(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
//设置画笔颜色
p.setColor(Color.BLUE);
p.setAntiAlias(true);
//绘制一个小圆(作为小球)
canvas.drawCircle(currentX,currentY,50,p);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
//修改currentX、currentY两个属性
currentX = event.getX();
currentY = event.getY();
//通知当前组件重绘自己
invalidate();
//返回true表明已经处理该事件
return true;
// return super.onTouchEvent(event);
}
}效果图:
自定义触摸控件
本文介绍了一个自定义的Android视图DrawView,该视图能够响应触摸事件,并更新其内部状态来绘制随触摸位置变化的小球。通过重写onDraw()和onTouchEvent()方法实现了动态效果。
1940

被折叠的 条评论
为什么被折叠?



