当前位置:   article > 正文

android studio刷新代码,如何在android studio上更新Java的onDraw()

androidstudio里的代码怎么刷新

所以我刚刚开始学习如何用android studio创建一个应用程序,我正在尝试制作一个简单的动画。例如,我想到了一个弹跳球,但目前我不能让我的球移动。我不完全理解一切是如何工作的,但我设法在屏幕上画了一个球,现在我想我的球移动,但问题是,我不能设法更新我的屏幕(这是由onDraw功能绘制)而它是打开的,手机只是显示最后一个屏幕时,所有的运动都结束了。我听说我必须使用invalidate函数,但我不知道如何使用它,我试着用move函数来使用它。我想知道什么是最简单的改变,我必须在我的代码上看到球在屏幕上移动。

package com.example.myfirstapp;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Context;

import android.graphics.Canvas;

import android.graphics.Paint;

import android.os.Bundle;

import android.os.SystemClock;

import android.view.View;

import android.view.Window;

import android.view.WindowManager;

import java.util.Random;

public class AnimationActivity extends AppCompatActivity {

public int posX= 300;

public int posY= 300;

public int radius= 50;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);

RenderView renderView = new RenderView(this);

setContentView(renderView);

while(posX<2000) {

renderView.move();

setContentView(renderView);

}

}

class RenderView extends View {

public RenderView(Context context){

super(context);

}

public void move(){

posX=posX+1;

//SystemClock.sleep(2);

invalidate();

}

protected void onDraw(Canvas canvas) {

int width = getWidth();

int height = getHeight();

canvas.drawRGB(255, 255, 255);

Paint ball = new Paint();

ball.setAntiAlias(true);

ball.setARGB(255,255,0,0);

ball.setStyle(Paint.Style.FILL_AND_STROKE);

canvas.drawCircle(posX,posY,radius,ball);

}

}

}

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号