저는 Android와 Java에 매우 익숙하며 while 루프에서 캔버스를 반복적으로 표시하려고 할 때 문제가 있습니다. onCreate 메서드가 끝나고 while 루프가 onCreate 메서드에있을 때까지 캔버스가 표시되지 않는 것 같습니다. 여기에 코드입니다 :안드로이드 - while 루프에서 캔버스를 표시 할 때 문제가 발생했습니다.
package com.example.clip_test;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.drawable.BitmapDrawable;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.LinearLayout;
import android.os.SystemClock;
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
LinearLayout ll=(LinearLayout)findViewById(R.id.rect);
ll.setBackgroundColor(Color.WHITE);
Bitmap bmp=Bitmap.createBitmap(480,800,Bitmap.Config.ARGB_8888);
Canvas canvas=new Canvas(bmp);
Paint paint=new Paint();
while (true) {
//DISPLAY RED SQUARE
paint.setColor(Color.parseColor("#FF0000"));
canvas.drawRect(50,50,200,200,paint);
ll.setBackgroundDrawable(new BitmapDrawable(bmp));
SystemClock.sleep(250);
//DISPLAY BLUE SQUARE
paint.setColor(Color.parseColor("#0000FF"));
canvas.drawRect(50,50,200,200,paint);
ll.setBackgroundDrawable(new BitmapDrawable(bmp));
SystemClock.sleep(250);
}
}
}
내가 다른 예를 검토 한 캔버스는 정기적으로 업데이트하지만 코드는 내가 캔버스에 익숙해 전에 이해해야합니다 (예 : 터치 이벤트를 처리하는 등의) 다른 합병증을 포함하는 방법. 누구든지이 일을 어떻게 처리 할 수 있는지에 대한 간단한 코드를 보여줄 수 있습니까?
같은 코드를 변경하려고합니다. 그것들은 애니메이션 수행과 비교할 때 사소한 주제입니다. 그런 다음 예제를 이해할 수 있습니다. 또는 더 간단한 예제를 찾아보십시오 (우리는 당신의 엔진이 아닙니다). – Torben