2013-03-13 47 views
5

我注意到在以下情形中發生了一個非常令人不愉快的閃爍:顯示全屏活動,然後啓動另一個不是全屏的活動。退出全屏活動時狀態欄閃爍

在我的應用程序中,我在第二個活動的頂部使用了一個操作欄,我清楚地看到在活動之間切換時閃爍是如何完成的。

當狀態欄出現時,它不能平滑地推動我的活動,但很快,並與這惱人的閃爍。

是否有一些我可以用來控制這種行爲的API? 或其他一些解決方法?

回答

7

我有同樣的問題。 下面的解決方法修復了它,在完成您的第一個活動之前放置此代碼。

Handler handler = new Handler(); 
handler.post(new Runnable() { 
    @Override 
    public void run() { 
     YourActivity.this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN, 
       WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN); 
    } 
}); 
+0

如果它解決了你的問題,你可以接受這個答案 – 2016-09-13 11:46:45

+0

這是唯一的解決辦法。我將下面的代碼放在setContentView之前的Oncreate中。 ... 如果(Build.VERSION.SDK_INT> = Build.VERSION_CODES.KITKAT){ getWindow()getDecorView()setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN |。View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY ); } ... 並且不要忘記把它放在onWindowFocusChanged覆蓋方法中。 – 2017-04-10 19:51:31