0
我有一個班,應該顯示一個白色的屏幕,並通過很多顏色淡入淡出。安卓版面顏色變化以編程方式
public class SecondActivity extends Activity implements Runnable {
protected PowerManager.WakeLock mWakeLock;
boolean isrunning = true;
int red = 0, blue = 0, green = 0;
@Override
public void onCreate(Bundle savedInstanceState) .... etc
TextView btnstart = (TextView) findViewById(R.id.btnstart);
btnstart.setTypeface(font1);
btnstart.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
MediaPlayer mediaPlayer = MediaPlayer.create(
getApplicationContext(), R.raw.button);
try {
mediaPlayer.start();
mediaPlayer.setLooping(false);
} catch (Exception e) {
e.printStackTrace();
}
{
run();
}
;
}
});
然後我可以運行
@Override
public void run() {
while (isrunning) {
try {
red = red + 1;
blue = blue + 2;
green = green + 3;
if (green > 240){
red = 0;
blue = 0;
green = 0;
}
LinearLayout colorchanger = (LinearLayout) findViewById(R.id.colorchange);
colorchanger.setBackgroundColor(Color.argb(255, red, blue,
green));
Thread.sleep(100);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
我有以下問題,當我按下按鈕的應用程序強制關閉。如果我將「while(isrunning)」取出並用if(正在運行)取代它,它可以正常工作,但我希望在單擊按鈕後顏色保持不變。
我敢肯定I'm做錯了什麼....
也許有一個佈局做是不是最好的方式,我有一個矩形(尺寸屏幕)辦呢?並在onDraw中更改顏色?
工作就像魅力! 謝謝! – Rodrigofantino