Android關於沉浸式的個人理解
之前的專案中玩過幾次沉浸式的設計。最近看了hongyang和郭神的關於沉浸式的介紹,又有了新的認識。遂整理之。
Android機型的原因,我將分成兩部分,
(1)4.4之後5.0之前的版本。
在4.4之後,Android提供了windowTranslucentStatus屬性,該屬性可以將statusbar即狀態列設定成半透明的狀態效果。我們只需要在values-v19下新增該屬性即可。
if(Build.VERSION.SDK_INT >= 19) { getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); }
(2)5.0之後的版本。
5.0之後,Android提供了setStatusbarColor()方法允許我們修改狀態列的顏色,但是修改狀態列顏色和windowTranslucentStatus屬性不能共存。所以,當我們要修改狀態列顏色的時候,我們需要去掉windowTranslucentStatus屬性。
Android中最多的設計還是利用狀態列區域,將佈局內容顯示到狀態列區域。如何實現呢?很簡單,只需要我們新增如下程式碼即可:
if(Build.VERSION.SDK_INT >= 21) { View decorView = getWindow().getDecorView(); int option = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE; decorView.setSystemUiVisibility(option); }
上面分別為19,21的不同使用方式,不過基本大同小異。在開啟了透明狀態列之後,還需要對我們的佈局檔案進行修改,預設情況下佈局內容是會佔據狀態列區域,在佈局檔案中設定fitsSystemWindows為true即可。
ok,以上就我是我個人理解。
相關文章
- 關於GAN的個人理解
- 關於交叉熵的個人理解熵
- 關於ConcurrentHashMap1.8的個人理解HashMap
- 關於01揹包個人的一些理解
- 關於count函式的理解函式
- 個人對於vue的理解Vue
- 關於 Python 裝飾器的一些個人理解Python
- Android 沉浸式狀態列的實現Android
- 關於分散式事務的理解分散式
- 格式化字串漏洞沉浸式理解字串
- 關於SVM數學細節邏輯的個人理解(一)
- Android-沉浸式狀態列的實現Android
- Android 沉浸式解析和輪子使用Android
- android 關於Bitmap壓縮處理解析Android
- Android中Activity設計思想個人理解Android
- 個人對於flux、redux及vuex的理解ReduxVue
- GOT & PLT 易於理解的個人筆記Go筆記
- Android如何實現超級棒的沉浸式體驗Android
- 關於虛擬函式的一些理解函式
- 關於WebRTC視訊Android端實現的原理解讀WebAndroid
- Android 沉浸式狀態列 漸變顏色的實現Android
- 分散式、微服務、叢集,個人理解分散式微服務
- 關於 DOM 的理解
- 關於Vuex的理解Vue
- 關於servlet的理解Servlet
- 關於-this指向的理解
- dubbo個人理解於應用章(二)
- Android Studio 沉浸式狀態列(個人手記)—錯誤資訊請批評Android
- 個人對於JavaScript中Number.toFixed()方法的理解JavaScript
- @Cacheable關於快取的個人筆記快取筆記
- 關於協程的理解
- 關於對Host的理解
- 關於執行緒的幾個函式執行緒函式
- 短視訊系統原始碼,android 真正的全屏沉浸式體驗原始碼Android
- Android關於Typedarray的使用Android
- 關於BFC理解
- 關於面試的一些個人看法面試
- 關於 Laravel 的一些個人見解Laravel
- 關於orm的個人測試——SqlSugar與FreeSqlORMSqlSugar