私は何かをテストしようとしていますが、必要なのは黒と白の画面の間を 1 秒間隔で点滅するアクティビティだけです。postDelayed を見てきましたが、それをどのように実装するかはまだわかりません。これは私が今持っているものですが、「点滅」しません
主な活動:
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.os.Handler;
import android.view.Menu;
public class Blink extends Activity {
int i = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_blink);
while (i == 0) {
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
public void run() {
changeColor();
}
}, 1000);
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
public void changeColor() {
if (findViewById(R.id.mylayout).getBackground().equals("#ffffff")) {
findViewById(R.id.mylayout).setBackgroundResource(Color.BLACK);
} else {
findViewById(R.id.mylayout).setBackgroundResource(Color.WHITE);
}
}
}
更新されたコード:
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.os.Handler;
import android.view.Menu;
public class Blink extends Activity {
int i = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_blink);
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
public void run() {
changeColor();
}
}, 1000);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
public void changeColor() {
if (i == 0) {
findViewById(R.id.mylayout).setBackgroundColor(Color.WHITE);
i++;
} else if (i == 1) {
findViewById(R.id.mylayout).setBackgroundColor(Color.BLACK);
i--;
}
}
}
更新 2:
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.os.Handler;
import android.view.Menu;
public class Blink extends Activity {
int i = 0;
Boolean bool = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_blink);
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
public void run() {
changeColor();
}
}, 1000);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
public void changeColor() {
if (bool) {
findViewById(R.id.mylayout).setBackgroundColor(Color.WHITE);
bool = false;
} else {
findViewById(R.id.mylayout).setBackgroundColor(Color.BLACK);
bool = true;
}
}
}