Я хочу изменить цвет фона coordinatorLayout
каждую секунду.
Но, что я нахожу, это то, что цвет coordinatorLayout
изменяется от начального цвета RED
до непосредственно последнего цвета, то есть #09FF00
в массиве COLORS
. Промежуточный цвет не отображается в макете, хотя они регистрируются в 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