2012-11-07 113 views
2

我試圖在Honeycomb +上調暗導航按鈕(後退,首頁等)。看起來這應該做的伎倆,但它不爲我工作:Android:調光導航按鈕

protected void onResume() 
{ 
    super.onResume(); 

    View v = findViewById(android.R.id.content); 
    if (v != null) 
     v.setSystemUiVisibility(isNightVision() ? View.SYSTEM_UI_FLAG_LOW_PROFILE 
                :View.SYSTEM_UI_FLAG_VISIBLE); 
} 

我有一些證據,因爲如果我使用SYSTEM_UI_FLAG_HIDE_NAVIGATION而非SYSTEM_UI_FLAG_LOW_PROFILE,導航欄不會隱藏我這樣做的權利。

我在Nexus 7上測試,起初我雖然也許該設備不支持此選項。但是,使用Kindle應用程序時,按鈕會變成點狀,所以我認爲這是可能的。有什麼想法嗎?

回答

2

這是我在我的應用程序之一做:

getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE); 
+0

是的,我也嘗試過,它也不起作用。我認爲它必須與應用程序的設置或我的設備的設置有關。但對於我的生活,我不知道這可能是什麼。 – btschumy

+0

好的,我只是用一個簡單的測試應用程序來測試它,它在那裏工作。現在開始試圖找出它在實際應用中不起作用的原因。 – btschumy

+0

我注意到一個有趣的行爲。有時它可以工作,使用上面的代碼行,有時它不會。幫助我的是在onCreate中安排一個計時器,延遲時間爲100ms,執行特定的代碼行(Samsung Galaxy Tab 2 10.1上的API 16)。 – Jane

0

OK,我想我想通了這一點。我們的應用程序有點複雜,它有一個Java庫(我試圖調暗按鈕),一個本地C庫和幾個使用這些庫的shell應用程序。

它看起來像我需要的地方:

<uses-sdk 
    android:minSdkVersion="8" 
    android:targetSdkVersion="11" /> 

在庫清單以及外殼清單。

我還需要在庫和shell的屬性中將目標SDK設置爲11。

我認爲以前我只在圖書館做過這件事,但是在殼中使用它需要讓功能實際工作。