zoukankan      html  css  js  c++  java
  • 自定义View(小球随手指移动)

    import android.content.Context;
    import android.graphics.Canvas;
    import android.graphics.Color;
    import android.graphics.Paint;
    import android.provider.ContactsContract.CommonDataKinds.Event;
    import android.util.AttributeSet;
    import android.view.MotionEvent;
    import android.view.View;

    public class MyView extends View {

    Paint paint=new Paint();
    private int width;
    private int heigh;
    private float currX=0;
    private float currY=0;

    public MyView(Context context) {
    super(context);

    }

    public MyView(Context context, AttributeSet attrs) {
    super(context, attrs);

    }
    public MyView(Context context, AttributeSet attrs, int defStyle) {
    super(context, attrs, defStyle);

    }

    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
    super.onMeasure(widthMeasureSpec, heightMeasureSpec);
    width=MeasureSpec.getSize(widthMeasureSpec);
    heigh=MeasureSpec.getSize(heightMeasureSpec);
    currX=width/2;
    currY=heigh/2;
    }

    @Override
    protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);
    paint.setColor(Color.RED);
    paint.setAntiAlias(true);
    canvas.drawCircle(currX,currY,60, paint);
    }
    @Override
    public boolean onTouchEvent(MotionEvent event) {

    switch (event.getAction()) {
    case MotionEvent.ACTION_DOWN:
    currX=event.getX();
    currY=event.getY();
    postInvalidate();
    break;
    case MotionEvent.ACTION_MOVE:
    currX=event.getX();
    currY=event.getY();
    postInvalidate();
    break;
    case MotionEvent.ACTION_UP:

    break;
    case MotionEvent.ACTION_CANCEL:

    break;

    }

    return true;

    }
    }

  • 相关阅读:
    参数传递二维数组 .
    类的static成员变量和成员函数能被继承吗
    Oracle面试题(基础篇)
    Visual C++ 8.0对象布局
    C++对象模型 多重继承与虚函数表
    浅析GCC下C++多重继承 & 虚拟继承的对象内存布局
    C++对象内存布局测试总结
    查找
    反转链表
    排序
  • 原文地址:https://www.cnblogs.com/hnpy/p/5474033.html
Copyright © 2011-2022 走看看