2012-10-09 104 views
1

我試圖隱藏導航欄,使用我發現在互聯網上描述的方法。Android平板電腦導航欄不會隱藏

我有一個簡單的佈局,顯示的WebView:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="horizontal" 
    android:id="@+id/layout" > 

    <WebView 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/webview" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" /> 

</RelativeLayout> 

,我使用在應用程序啓動的代碼是:

getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); 
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN); 
    getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE); 
    getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION); 
    web.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION); 
    layout.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION); 

但這並不隱藏導航欄。

我加...

android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 

...我也活動。

我該如何做到這一點?

+0

嗨,我仍然有這個我會在屏幕的設備底部的缺口問題,如的Nexus 7和Nexus 10. –

回答

4

您無法永久隱藏平板電腦上的系統欄。

SYSTEM_UI_FLAG_HIDE_NAVIGATION Android 4.1及更高版本將隱藏系統欄,但只要用戶執行任何操作,它就會重新出現。

+0

是的,它和你說的一樣。但我想完成userInteraction方法的活動。但是,它沒有正常運行,它完成了我的活動後點擊兩次活動 –

0

您不能隱藏給定框架內的導航欄。然而,圍繞着工作,如果生根該設備是一個選擇:

  1. Root device

  2. Install and run Busybox

  3. Install HideBar

在HideBar有一個選項以'Kiosk'模式運行,其中無法重新顯示導航欄。不用說,你真的需要小心這一點。


+0

Hidebar如何工作? – JohnyTex

+2

@JohnyTex不確定,請嘗試:http://bit.ly/1CLKCf9 現在這已經很老了,我不會回答這個問題 –

5

您可以隱藏導航欄,試試這個

public void FullScreencall() { 
    if(Build.VERSION.SDK_INT < 19) //19 or above api 
     View v = this.getWindow().getDecorView(); 
     v.setSystemUiVisibility(View.GONE); 
    } else { 
      //for lower api versions. 
     View decorView = getWindow().getDecorView(); 
     int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY; 
     decorView.setSystemUiVisibility(uiOptions); 
    } 
} 
+1

不應該是'if(Build.VERSION.SDK_INT> 19 )// 19或以上api'?注意大於號。 –