Android 淡化系統(tǒng)Bar

2018-08-02 18:16 更新

編寫:K0ST - 原文:http://developer.android.com/training/system-ui/dim.html

本課程將向你講解如何在Android 4.0(API level 14)與更高的的系統(tǒng)版本上淡化系統(tǒng)欄(System bar,狀態(tài)欄與導航欄)。早期版本的Android沒有提供一個自帶的方法來淡化系統(tǒng)欄。

當你使用這個方法的時候,內(nèi)容區(qū)域并不會發(fā)生大小的變化,只是系統(tǒng)欄的圖標會收起來。一旦用戶觸摸狀態(tài)欄或者是導航欄的時候,這兩個系統(tǒng)欄就又都會完全顯示(無透明度)。這種方法的優(yōu)勢是系統(tǒng)欄仍然可見,但是它們的細節(jié)被隱藏掉了,因此可以在不犧牲快捷訪問系統(tǒng)欄的情況下創(chuàng)建一個沉浸式的體驗。

這節(jié)課將教您

  1. 淡化狀態(tài)欄和導航欄
  2. 顯示狀態(tài)欄和導航欄

同時您應該閱讀

淡化狀態(tài)欄和系統(tǒng)欄

如果要淡化狀態(tài)和通知欄,在版本為4.0以上的Android系統(tǒng)上,你可以像如下使用SYSTEM_UI_FLAG_LOW_PROFILE這個標簽。

// This example uses decor view, but you can use any visible view.
View decorView = getActivity().getWindow().getDecorView();
int uiOptions = View.SYSTEM_UI_FLAG_LOW_PROFILE;
decorView.setSystemUiVisibility(uiOptions);

一旦用戶觸摸到了狀態(tài)欄或者是系統(tǒng)欄,這個標簽就會被清除,使系統(tǒng)欄重新顯現(xiàn)(無透明度)。在標簽被清除的情況下,如果你想重新淡化系統(tǒng)欄就必須重新設定這個標簽。

圖1展示了一個圖庫中的圖片,界面的系統(tǒng)欄都已被淡化(需要注意的是圖庫應用完全隱藏狀態(tài)欄,而不是淡化它);注意導航欄(圖片的右側(cè))上變暗的白色的小點,他們代表了被隱藏的導航操作。

low_profile_hide2x

圖1.淡化的系統(tǒng)欄

圖2展示的是同一張圖片,系統(tǒng)欄處于顯示的狀態(tài)。

low_profile_show2x

圖2.顯示的系統(tǒng)欄

顯示狀態(tài)欄與導航欄

如果你想動態(tài)的清除顯示標簽,你可以使用setSystemUiVisibility()方法:

View decorView = getActivity().getWindow().getDecorView();
// Calling setSystemUiVisibility() with a value of 0 clears
// all flags.
decorView.setSystemUiVisibility(0);


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號