2016-03-17 97 views
-1

我想编写简单的应用,改变continiously它的颜色从红到蓝在时间指定的时间间隔,所以它模拟警笛。但我不知道代码如何使应用程序改变它的颜色。Android应用程序 - 警笛模拟器

这里就是我试过,当然它不能工作...

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); 
     } 
    } 
} 

回答

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); 


    } 
} 
+0

作品,谢谢! ; ) – Hoymm

相关问题