在开发自定义View的过程当中,经常会让自定义控件和用户的手势产生联动,或者根据用户的手势,做出不同的响应,那么这里就涉及到视图交互了,最简单的交互是通过view当中的onTouchEvent方法实现的,这个方法返回了用户手指在屏幕上的位置,以及用户手指在屏幕上的状态,比如,绘制能在屏幕上随着手指的移动而移动的红色小球。
实现代码如下:
/**
* 会动的小圆,绘制一个红色的小圆,随着你手指的移动而移动位置。
* 要监听手指和屏幕之间的关系,然后确定小圆绘制的位置
*/
public class DumpCircleView extends View{
private Paint paint;
private int currentX = 60;
private int currentY = 60;
public DumpCircleView(Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
initPaint();
}
private void initPaint() {
paint = new Paint();
paint.setColor(Color.RED);
paint.setStyle(Paint.Style.FILL);
}