react-native StatusBar狀態(tài)欄實現(xiàn)之ios安卓配置

簡介

StatusBar 是 React Native 用來設(shè)置并動態(tài)改變設(shè)備的狀態(tài)欄的組件,可以通過設(shè)置 StatusBar 的樣式實現(xiàn)不同頁面顯示的狀態(tài)欄不同;
作為跨平臺組件,StatusBar 有些屬性是通用的,但有些則是 iOS / Android 獨有的;所以我們開發(fā)時要做好適配。

通用屬性

  • animated (bool)
    • 指定狀態(tài)欄的變化是否應(yīng)以動畫形式呈現(xiàn)。目前支持這幾種樣式:backgroundColor, barStyle和hidden。
  • hidden (bool)
    • 是否隱藏狀態(tài)欄。
常量
  • currentHeight 狀態(tài)欄的當(dāng)前高度

iOS屬性

  • barStyle
    • 設(shè)置狀態(tài)欄文本的顏色

enum('default', 'light-content', 'dark-content')

  • networkActivityIndicatorVisible (bool)
    • 指定是否顯示網(wǎng)絡(luò)活動提示符。
  • showHideTransition
    • 通過hidden屬性來顯示或隱藏狀態(tài)欄時所使用的動畫效果。默認(rèn)值為'fade'。

enum('fade', 'slide','none')

僅Android

  • backgroundColor color
    • 狀態(tài)欄的背景色。
  • translucent (bool)
    • 指定狀態(tài)欄是否透明。設(shè)置為true時,應(yīng)用會在狀態(tài)欄之下繪制(即所謂“沉浸式”——被狀態(tài)欄遮住一部分)。常和帶有半透明背景色的狀態(tài)欄搭配使用。
  • StatusBar.currentHeight
    React Native 在 Android 平臺為 StatusBar 組件提供了一個靜態(tài)常量 currentHeight,我們可以通過讀取這個常量來得到 Android 手機(jī)狀態(tài)欄的高度。
StatusBar組件可以同時加載多個。此時屬性會按照加載順序合并(后者覆蓋前者)。一個典型的用法就是在使用Navigator時,針對不同的路由指定不同的狀態(tài)欄樣式,如下:
<View>
   <StatusBar
     backgroundColor="blue"
     barStyle="light-content"
   />
   <Navigator
     initialRoute={{statusBarHidden: true}}
     renderScene={(route, navigator) =>
       <View>
         <StatusBar hidden={route.statusBarHidden} />
         ...
       </View>
     }
   />
 </View>

方法

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容