-
條件
- 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
- Android沉浸式設計(狀態列和導航欄)——封裝Android封裝
- 記一次Vue跨導航欄問題解決方案Vue
- 安卓導航抽屜 Navigation Drawer 實現沉浸通知欄安卓Navigation
- iOS系統中導航欄的轉場解決方案與最佳實踐iOS
- 高效低成本的室內導航,室內導航定位一站式解決方案
- css導航欄之間有空隙怎麼解決CSS
- iOS導航欄標題錯亂的解決方法iOS
- 互動投影+沉浸式互動投影綜合解決方案
- 談導航欄返回按鈕的替代方案
- CARDS主題 & 導航欄樣式修改
- 醫院室內定位導航,智慧醫院院內地圖導航、導醫一站式解決方案地圖
- WordPresscategory導航欄Go
- 智慧園區地圖導航解決方案,智慧工業園區導航如何實現?地圖
- 簡易的iOS導航欄顏色漸變方案iOS
- qml 導航欄TabBar 工具欄ToolBartabBar
- html匯入導航欄本地檔案解決跨域問題HTML跨域
- 側欄導航自動定位效果詳解
- 商城側欄導航效果實現詳解
- GitHub 導航欄加強Github
- HTML橫向導航欄HTML
- Flutter 導航欄AppBarFlutterAPP
- Tablayout實現導航欄TabLayout
- iOS 導航欄的控制iOS
- bootstrap導航欄學習boot
- 直播系統程式碼,自行更改導航欄樣式
- css橫向導航欄製作流程詳解CSS
- Android官方導航欄ActionBar使用詳解Android
- GDC沉浸音效解決方案亮相北京BIRTV展會
- 構建動態互動式H5導航欄:滑動高亮、吸頂和錨點導航技巧詳解H5
- uniapp自定義導航欄APP
- 融雲與 HIFIVE 達成戰略合作,共創「沉浸式」社交解決方案
- 解決使用BottomSheetDialog底部虛擬導航欄NavigationBar的顏色Navigation
- 淺談沉浸式 UI的設計——容易出現的問題及解決方案UI
- 微信小程式自定義導航欄微信小程式
- CSS導航欄及下拉選單CSS
- ios自定義簡約導航欄iOS
- CSS 導航欄元素居中顯示CSS