不断更改布局背景

时间:2011-02-28 01:04:01

标签: android android-layout

我正在创建一个应用程序,我不断更改布局背景,就像翻转背景一样,我正在使用Activity.runOnUiThread()函数实现后台更改,因为它是一个UI函数,并使用{{等待2秒1}}但是应用程序只显示我最后提到的布局颜色。

Thread().sleep()

}

UI更改和线程凝视都将在循环中发生(未显示),但应用程序仍然只更改一次布局颜色。 谢谢, SID

1 个答案:

答案 0 :(得分:3)

  1. 你不应该new活动,活动是由Android系统创建的。
  2. 致电Thread.start将启动该主题,无需致电Thread.run
  3. 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);
        }
    }