2014-03-18 32 views
0

我已經寫了這個應用程序,它有一個按鈕(佈局是全部的,所以我不能簡單地移動它),它靠近我的Android平板電腦的背部,家庭和兩個矩形按鈕。這意味着偶爾有一次我不小心按下了家裏或後面的按鈕,我就從我的應用中拿走了。這真的很煩人。從我讀過的東西不可能隱藏o禁用此欄。但是,有什麼辦法可以做到這一點,所以我必須在響應之前觸摸導航欄兩次?像按鈕出現一次,然後再次發出命令?如何讓Android導航欄不自動響應?

我在

onCreate(Bundle savedInstanceState): 

驗證碼:

View decorView = getWindow().getDecorView(); 
    int uiOptions = View.SYSTEM_UI_FLAG_LOW_PROFILE 
      | View.SYSTEM_UI_FLAG_FULLSCREEN; 
    decorView.setSystemUiVisibility(uiOptions); 

但是兩個問題:1)如果我德勤我立刻得到取出我的應用程序的按鈕和2),直到我殺我的應用程序,並重新啓動它吧不會再暗淡(這可以通過將代碼放在低調的其他地方來解決,但我不知道在哪裏)。

任何想法?

回答

0

這也正是我想要的東西:

@Override 
protected void onStart(){ 
    super.onStart(); 
    //Making the navigation bar requiere two commands to be used. 
    View decorView = getWindow().getDecorView(); 
    int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION; 
    decorView.setSystemUiVisibility(uiOptions); 
} 

@Override 
protected void onResume(){ 
    super.onResume(); 
    //Making the navigation bar requiere two commands to be used. 
    View decorView = getWindow().getDecorView(); 
    int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION; 
    decorView.setSystemUiVisibility(uiOptions); 
} 

導航按鈕仍然可見,但你按它的第一次會發生什麼。如果你再次強調它會做到應該做的事情,但是如果你回到這個活動,你需要再次壓制兩次。謝謝您的幫助。

0

從Android 4.4(API 19)開始,您實際上可以用新的「沉浸模式」隱藏底部導航欄。當用戶沿着頂部向內垂直滑動時,導航和系統條會再次顯示。有關如何實現此目的,請參閱https://developer.android.com/training/system-ui/immersive.html。請注意,對於任何應用程序來說,身臨其境的模式並不理想。遊戲和視頻應用程序可能最適合沉浸式模式。至於重寫導航按鈕的行爲,如果您的應用程序是家庭應用程序(即啓動器),則可以在某種程度上執行此操作。不過,除非你的應用程序實際上是一個啓動器,否則肯定不能接受。然而,如果這就是你想要去的方式,你的活動應具有以下意圖過濾器:

<intent-filter> 
    <action android:name="android.intent.action.MAIN" /> 
    <category android:name="android.intent.category.HOME" /> 
    <category android:name="android.intent.category.DEFAULT" /> 
</intent-filter> 

這只是讓你開始不過,有參與了發射大量的工作......

+0

這是不可接受的,正如你所說,因爲我的應用程序不是一個啓動器。你要求的android版本太新了(我的平板電腦是Xoom)。但是我確實設法通過重新編寫一些代碼來完成我想要的工作。是的,事實上,我的應用程序是一款遊戲。 – aarelovich