【发布时间】:2014-06-03 14:13:54
【问题描述】:
我正在尝试更改多任务按钮在查看最近的应用程序时显示/显示的小“屏幕截图”的颜色。我试图通过改变颜色来做到这一点:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
protected void onPause() {
getWindow().getDecorView().getRootView().setBackgroundColor(Color.BLUE);
super.onPause();
}
}
这不起作用。使用上面的代码,我可以看到颜色变为蓝色,但屏幕截图不显示蓝色。我想如果我稍微延迟一下(这完全是概念性的。我知道如果你故意延迟离开活动,用户会很生气)然后屏幕截图会显示为蓝色。所以我做了:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
protected void onPause() {
getWindow().getDecorView().getRootView().setBackgroundColor(Color.BLUE);
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
super.onPause();
}
}
但现在我完全糊涂了。在我回到它之前,颜色根本不会变成蓝色。这怎么可能?颜色的变化明显在 sleep() 之前。
【问题讨论】:
-
您是想在截屏时隐藏您的布局,还是真的希望背景为蓝色?
-
您应该将代码从 OnPause 更改为 OnResume getWindow().getDecorView().getRootView().setBackgroundColor(Color.BLUE);
-
@joao2fast4u 我正在尝试“隐藏”屏幕截图,或将其颜色更改为黑色。我为这个例子选择了蓝色。我正在尝试这样做,但对于 Android:stackoverflow.com/questions/18959411/…
标签: android android-layout android-activity android-lifecycle