Android 确定通知面板是否可见
我正在我的应用程序中实现youtube风格的状态栏行为。 状态栏通常是隐藏的,当用户按下按钮时,状态栏出现,然后在2秒钟后消失:Android 确定通知面板是否可见,android,Android,我正在我的应用程序中实现youtube风格的状态栏行为。 状态栏通常是隐藏的,当用户按下按钮时,状态栏出现,然后在2秒钟后消失: public void displayStatusBarTimed(){ // Show status bar getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); new Handler().postDelayed(new Runnable() {
public void displayStatusBarTimed(){
// Show status bar
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
}, 2000);
}
我遇到的问题是,当通知面板从状态栏中展开下拉面板时,它会在2秒钟后与状态栏一起清除。
我怎样才能防止这种情况?
我做了一些测试,发现当面板可见时,不会调用onPause。
我还没有找到检查面板是否可见的方法。
我想在面板关闭后启动2秒计时器。。。
非常感谢您的帮助 如中所示,您应该覆盖onWindowFocusChangedboolean hasFocus:
private final Handler mDecorHandler = new Handler();
@Override
public void onWindowFocusChanged(boolean hasFocus) {
if (!hasFocus) {
// Remove any pending messages/runnables
mDecorHandler.removeCallbacksAndMessages(null);
} else {
mDecorHandler.post(...)
}
}