Как обновить метод рисования с внешними функциями в Android Studio [закрыто]

Я хотел бы знать, как я могу обновить метод onDraw внутри внешней функции.

Я пытаюсь использовать invalidate (), но у меня это не работает.

Он предназначен для перемещения изображения нажатием кнопки.

Спасибо за внимание.

public class Lienzo extends View {

      Bitmap pelota_bm;
private int pelota_x, pelota_y;
private int x_dir, y_dir;

public Lienzo(Context context, AttributeSet attrs) {
    super(context, attrs);
    setBackgroundResource(R.drawable.campo_futbol_sala);
    pelota_x = 400;
    pelota_y = 400;
    x_dir=1;
    y_dir=1;
}

@Override
protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);

    pelota_bm = BitmapFactory.decodeResource(getResources(),R.drawable.pelota);


    if(pelota_x >= canvas.getWidth()){
        x_dir = -1;
    }
    if(pelota_x <= 0){
        x_dir = 1;
    }
    if(pelota_y >= canvas.getHeight()){
        y_dir = -1;
    }
    if(pelota_y <= 0){
        y_dir = 1;
    }

    canvas.drawBitmap(pelota_bm, pelota_x, pelota_y, null);
    invalidate();

}

public void Play(){

    int cont = 0;
    while(cont<=100){

        pelota_x = pelota_x + x_dir;
        pelota_y = pelota_y + y_dir;

        System.out.println(cont);
        cont++;
        invalidate();

    }
}

}

0 ответов

Другие вопросы по тегам