-1

我想编写一个简单的应用程序,在指定的时间间隔内不断地将其颜色从红色变为蓝色,因此它可以模拟警笛。但我不知道如何编码,所以应用程序将改变它的颜色。

这是我尝试过的,当然它不能工作......

LinearLayout mainBackground;
String currentColor = "Blue";
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    mainBackground = (LinearLayout) findViewById(R.id.mainBackgroundID);
    while(true) {
        sleep(250);
        if (currentColor.equals("Blue")) {
            currentColor = "Red";
            mainBackground.setBackgroundColor(0xFFFF0000);
        } else {
            currentColor = "Blue";
            mainBackground.setBackgroundColor(0xFF0008FF);
        }
    }
}
4

1 回答 1

0

尝试这个,

public class MainActivity extends AppCompatActivity {

    LinearLayout llParent;
    int currentColor = Color.BLUE;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        llParent = (LinearLayout) findViewById(R.id.llParent);
        llParent.setBackgroundColor(currentColor);
        final Handler handler = new Handler();
        Runnable runnable = new Runnable() {
            @Override
            public void run() {
                if (currentColor == Color.BLUE) {
                    currentColor = Color.RED;
                } else {
                    currentColor = Color.BLUE;
                }
                llParent.setBackgroundColor(currentColor);
                handler.postDelayed(this, 1000);
            }
        };
        handler.post(runnable);


    }
}
于 2016-03-17T14:16:00.450 回答