毎秒coordinatorLayout
の背景色を変更したいと思います。
しかし、coordinatorLayout
の色は、最初の色RED
からCOLORS
アレイの最後の色、つまり#09FF00
に直接変更されています。中間色はレイアウトに表示されませんが、LogCat
にログインします。
何が間違っていますか?Android - レイアウトの背景色を動的に変更する
public class ColorActivity extends AppCompatActivity {
private static String COLORS [] = {"#FF0000", "#0000FF", "#09FF00"};
@Override
protected void onCreate(Bundle savedInstanceState) {
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_detect);
final CoordinatorLayout coordinatorLayout = (CoordinatorLayout) findViewById(R.id.fullscreenview);
coordinatorLayout.setBackgroundColor(Color.RED);
new Thread(new Runnable() {
@Override
public void run() {
try {
Thread.sleep(1000);
}catch (Exception e) {
e.printStackTrace();
}
changeColor(coordinatorLayout);
}
}).start();
}
private void changeColor(final CoordinatorLayout coordinatorLayout) {
runOnUiThread(new Runnable() {
@Override
public void run() {
for (String color: COLORS) {
Log.i("COLOR", color);
coordinatorLayout.setBackgroundColor(Color.parseColor(color));
}
}
});
}
}
私はそれをどのように扱うのですか? –
動作しません。同じ問題。 –
コードを更新しました。 – TR4Android