рисовать кости и номинал, используя onDraw? - PullRequest
0 голосов
/ 18 февраля 2020

У меня есть задание на создание игры в кости, но вместо изображений мне нужно использовать метод onDraw, чтобы сделать это для достижения результата. И я действительно не могу найти много информации о том, как этого добиться. Поэтому сначала я пытаюсь для достижения D ie. То, что у меня есть, больше похоже на домино. Должны ли быть лучшие способы, какие-либо идеи? И, пожалуйста, будьте нежны, я новичок в этом, но я действительно стараюсь, это не легко в 46 лет, но я хочу учиться. Вот что у меня есть.

package com.example.circle;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.os.Bundle;
import android.util.AttributeSet;
import android.view.View;
import android.widget.Button;

import androidx.appcompat.app.AppCompatActivity;

import java.nio.file.Path;

public class MyView extends View {

    private final Paint paint = new Paint();
    // --Commented out by Inspection (2020-02-16 17:11):Path path;


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

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


    private void init() {
        paint.setColor( Color.LTGRAY );
        paint.setStrokeWidth( 10 );
        paint.setStyle( Paint.Style.STROKE );

    }

    @Override
    protected void onDraw(Canvas canvas) {
        // TODO Auto-generated method stub
        //The number 1
        super.onDraw(canvas);
        paint.setStyle( Paint.Style.STROKE );
        canvas.drawRect(
                getLeft()+(getRight()-getLeft())/3,
                getTop()+(getBottom()-getTop())/3,
                getRight()-(getRight()-getLeft())/3,
                getBottom()-(getBottom()-getTop())/3,paint);
        super.onDraw(canvas);

        paint.setStyle( Paint.Style.STROKE );
        canvas.drawCircle( 620,800,30, paint );

        paint.setStyle( Paint.Style.STROKE );
        canvas.drawCircle( 620,870,30, paint );

        paint.setStyle( Paint.Style.STROKE );
        canvas.drawCircle( 620,940,30, paint );

        paint.setStyle( Paint.Style.STROKE );
        canvas.drawCircle( 500,940,30, paint );

        paint.setStyle( Paint.Style.STROKE );
        canvas.drawCircle( 500,800,30, paint );

        paint.setStyle( Paint.Style.STROKE );
        canvas.drawCircle( 500,870,30, paint );
}   }
...