0

我写了这段代码

    WindowManager.LayoutParams params = getWindow().getAttributes();
    params.flags |= LayoutParams.FLAG_KEEP_SCREEN_ON;
    params.screenBrightness = 0.1F;
    getWindow().setAttributes(params);

    SystemClock.sleep(5000);

    TextView Text01 = (TextView) findViewById(R.id.Text1);
    Text01.setText("Hello");

设置屏幕亮度,然后在 5 秒后显示文本。问题是它会等待 5 秒,然后 Android 会调暗屏幕并同时输出文本。为什么它不能按顺序工作?谢谢

4

1 回答 1

0

我的猜测是代码在 UI 线程中运行,这意味着在您的函数退出之前没有任何内容被绘制到 UI。您可能希望设置某种回调来触发将来更改文本。也许是一个AsyncTask,其中休眠发生在后台线程中,而 UI 更改代码发生在onPostExecute.

于 2012-09-03T22:52:50.893 回答