我正在创建一个应用程序,我不断更改布局背景,就像翻转背景一样,我正在使用Activity.runOnUiThread()
函数实现后台更改,因为它是一个UI函数,并使用{{等待2秒1}}但是应用程序只显示我最后提到的布局颜色。
Thread().sleep()
}
UI更改和线程凝视都将在循环中发生(未显示),但应用程序仍然只更改一次布局颜色。 谢谢, SID
答案 0 :(得分:3)
new
活动,活动是由Android系统创建的。 Thread.start
将启动该主题,无需致电Thread.run
。 Activity.runOnUiThread
可能不是存档的最佳方式,请尝试Handler
。以下是示例代码:
public class BroadcastActivity extends Activity {
public static final int CHANGE_BGCOLOR = 1;
private LinearLayout llaLayout;
private Handler handler = new Handler() {
public void handleMessage(android.os.Message msg) {
if (msg.what == 1) {
String color = (String) msg.obj;
llaLayout.setBackgroundColor(Color.parseColor(color));
String nextColor = ""; // Next background color;
Message m = obtainMessage(CHANGE_BGCOLOR, nextColor);
sendMessageDelayed(m, 200);
}
}
};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
llaLayout = (LinearLayout)findViewById(R.id.layo);
String nextColor = ""; // Next background color;
Message m = handler.obtainMessage(CHANGE_BGCOLOR, nextColor);
handler.sendMessageDelayed(m, 200);
}
}