-
條件
- weex頁面要通知app端是否顯示原生導航欄(android,ios)和沉浸式導航(android)
- 要根據系統狀態列高度動態設定最頂端佈局的height和margin
- app需要提供系統狀態列高度。android還需要設定FLAG_TRANSLUCENT_STATUS並且考慮api19以下的情況
-
直接上主要程式碼
- 通過進入weex頁面的引數來通知app端相關狀態
this.$jump('vip/center', { translucentStatus: true, navigationBarHidden: true, ... }); 複製程式碼
- 根據app返回的狀態列高度調整響應的介面
weex.requireModule('common').getStatusBarHeight(function(statusBarHeight) { me.statusBarHeight = statusBarHeight * 2; }); 複製程式碼
<image class="top_bg" :style="{ height: (420 + statusBarHeight) + 'px' }" src="..." /> ... 複製程式碼
- 通過WXModule提供getStatusBarHeight()
- android端需要針對api19以下做處理
@JSMethod(uiThread = true) public void getStatusBarHeight(final JSCallback jsCallback) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { jsCallback.invokeAndKeepAlive(UiUtil.px2dip(mWXSDKInstance.getContext(),UiUtil.getStatusBarHeight(mWXSDKInstance.getContext()))); }else { jsCallback.invokeAndKeepAlive(0); } } 複製程式碼
-
效果
-
擴充套件
-
也可以訪問我的個人部落格:blog.yzapp.cn
-
github:github.com/nesror
weex沉浸式導航欄解決方案
相關文章
- flutter全屏沉浸式狀態列+標題欄|flutter凸起Tabbar導航FluttertabBar
- 記一次Vue跨導航欄問題解決方案Vue
- 安卓導航抽屜 Navigation Drawer 實現沉浸通知欄安卓Navigation
- iOS系統中導航欄的轉場解決方案與最佳實踐iOS
- 高效低成本的室內導航,室內導航定位一站式解決方案
- CARDS主題 & 導航欄樣式修改
- 醫院室內定位導航,智慧醫院院內地圖導航、導醫一站式解決方案地圖
- 互動投影+沉浸式互動投影綜合解決方案
- 解決使用BottomSheetDialog底部虛擬導航欄NavigationBar的顏色Navigation
- Flutter 導航欄AppBarFlutterAPP
- 智慧園區地圖導航解決方案,智慧工業園區導航如何實現?地圖
- html匯入導航欄本地檔案解決跨域問題HTML跨域
- 簡易的iOS導航欄顏色漸變方案iOS
- qml 導航欄TabBar 工具欄ToolBartabBar
- bootstrap導航欄學習boot
- uniapp自定義導航欄APP
- GitHub 導航欄加強Github
- HTML橫向導航欄HTML
- 直播系統程式碼,自行更改導航欄樣式
- css橫向導航欄製作流程詳解CSS
- 構建動態互動式H5導航欄:滑動高亮、吸頂和錨點導航技巧詳解H5
- 導航欄點選選中
- 底部導航欄懸浮效果
- 來,搞個側欄導航
- 融雲與 HIFIVE 達成戰略合作,共創「沉浸式」社交解決方案
- 淺談沉浸式 UI的設計——容易出現的問題及解決方案UI
- 一個超讚的智慧園區地圖導航解決方案,如何解決園區內地圖導航應用問題?地圖
- uniapp更改導航欄按鈕文字APP
- 導航欄的隱藏問題
- CSS導航欄及下拉選單CSS
- IOS對於導航欄的顯示和隱藏不統一的解決方法iOS
- 響應式導航
- 直播系統平臺原始碼隱藏虛擬導航欄,禁止下拉通知欄,禁止上滑出虛擬導航欄原始碼
- 解決MVVMLight導航VM不重置問題MVVM
- 聊天平臺原始碼,解決設定導航欄按鈕圖片變色問題原始碼
- 左側導航欄element -2024/11/27
- Bootstrap v5 Navigation Bar 導航欄bootNavigation
- [譯]在底部導航欄裡使用 ProviderIDE