我在一個應用程序中,我試圖佈局(線性佈局)的兩種顏色之間連續翻轉工作之間反覆翻轉,但隨着預期的顏色不發生變化。當我運行的應用程序,它等待,只有顏色最後提到的改變,並且也只有一次,我懷疑佈局不能儘快改變顏色的應用程序試圖改變其顏色,結果該應用程序只能改變顏色一次。從兩種佈局顏色
下面是代碼
flasher.java
package com.tutorial.flasher;
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
//import android.os.SystemClock;
import android.widget.LinearLayout;
public class flasher extends Activity {
/** Called when the activity is first created. */
LinearLayout llaLayout;
int a,b = 0;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
llaLayout = (LinearLayout)findViewById(R.id.layo);
for (int i=0;i<4;i++)
{
//SystemClock.sleep(2000);
//llaLayout.buildDrawingCache()
Thread.currentThread();
try
{
Thread.sleep(2000);
}
catch (Exception e)
{
e.notifyAll();
}
llaLayout.setBackgroundColor(Color.parseColor("#0000FF"));
//SystemClock.sleep(2000);
Thread.currentThread();
try
{
Thread.sleep(2000);
}
catch (Exception e)
{
e.notifyAll();
}
llaLayout.setBackgroundColor(Color.parseColor("#FF0000"));
// SystemClock.sleep(2000);
}
}
}
我只得到了紅色的佈局。
感謝, 希德
謝謝,我試圖通過Activity.runOnUiThread運行UI相關函數,但它沒有按預期工作,這次我只得到了第一個提到的顏色(紅色),這裏是代碼片段,我將setBackground方法在下面提到的部分進行佈局。 \t _activity.runOnUiThread(新的Runnable(){ \t公共無效的run(){ \t \t llaLayout.setBackgroundColor(Color.parseColor( 「#FF0000」)); \t \t \t } }); \t 謝謝,希德 – Sid 2011-02-26 16:01:54