2015-10-29 128 views
3

我有一個主題,其父母爲Theme.AppCompat.Dialog。事情是我所有的活動都將導航欄隱藏起來,但是當打開一個對話框時,它會返回一個有時是黑色的,有時是透明的背景色。在打開對話框時有沒有辦法隱藏它?如何在打開對話框時隱藏導航欄?

+0

請添加任何屏幕截圖,以便我們能夠獲得問題的要點。 –

+0

你可以看看http://stackoverflow.com/questions/16713845/permanently-hide-navigation-bar-on-activity – dex

+0

正如我上面所說,它只發生在對話框。我所有的活動都會使用標誌自動隱藏它 –

回答

2

我終於通過覆蓋我有的自定義對話框的show()方法解決了這個問題。

@Override 
public void show() { 
    // Set the dialog to not focusable. 
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE, 
      WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE); 

    // Show the dialog with NavBar hidden. 
    super.show(); 

    // Set the dialog to focusable again. 
    getWindow().clearFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE); 
}