Android——自定义组件和游戏开发(四)项目实战

1. 显示一张图片

要求:显示不修改的尺寸和原尺寸(110,110)

 

 

2. 自定义画板

// 用Canvas ,Paint,Path:制作个人绘画板

public class MyPaint07 extends View {
    private Paint paint;
    private Path path;


    public MyPaint07(Context context) {
        super(context);
        init();
    }

    public MyPaint07(Context context, @Nullable AttributeSet attrs) {
        super(context, attrs);
        init();
    }

    public MyPaint07(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        init();
    }

    public MyPaint07(Context context, @Nullable AttributeSet attrs, int defStyleAttr, int defStyleRes) {
        super(context, attrs, defStyleAttr, defStyleRes);
        init();
    }

    public void init(){
        paint = new Paint(Paint.ANTI_ALIAS_FLAG);
        paint.setStyle(Paint.Style.STROKE);
        paint.setColor(Color.parseColor("#00ff00"));
        paint.setStrokeWidth(10);
        path = new Path();
    }

    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
        canvas.drawPath(path,paint);
    }

    @Override
    public boolean onTouchEvent(MotionEvent event) {

        switch ( event.getAction() ){
            case MotionEvent.ACTION_DOWN:
                Log.i(TAG, "onTouchEvent: do it");
                path.moveTo(event.getX(),event.getY());
                break;
            case MotionEvent.ACTION_MOVE:
                path.lineTo(event.getX(),event.getY());
                break;
        }
        invalidate();
        return true;
    }

    private static final String TAG = "MyPaint07";
}

 

posted @ 2022-02-21 00:10  remix_alone  阅读(45)  评论(0)    收藏  举报