You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

README.md 8.6 KiB

4 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341
  1. ---
  2. title: Statusbar
  3. description: Control the device status bar.
  4. ---
  5. <!---
  6. # license: Licensed to the Apache Software Foundation (ASF) under one
  7. # or more contributor license agreements. See the NOTICE file
  8. # distributed with this work for additional information
  9. # regarding copyright ownership. The ASF licenses this file
  10. # to you under the Apache License, Version 2.0 (the
  11. # "License"); you may not use this file except in compliance
  12. # with the License. You may obtain a copy of the License at
  13. #
  14. # http://www.apache.org/licenses/LICENSE-2.0
  15. #
  16. # Unless required by applicable law or agreed to in writing,
  17. # software distributed under the License is distributed on an
  18. # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  19. # KIND, either express or implied. See the License for the
  20. # specific language governing permissions and limitations
  21. # under the License.
  22. -->
  23. |AppVeyor|Travis CI|
  24. |:-:|:-:|
  25. |[![Build status](https://ci.appveyor.com/api/projects/status/github/apache/cordova-plugin-statusbar?branch=master)](https://ci.appveyor.com/project/ApacheSoftwareFoundation/cordova-plugin-statusbar)|[![Build Status](https://travis-ci.org/apache/cordova-plugin-statusbar.svg?branch=master)](https://travis-ci.org/apache/cordova-plugin-statusbar)|
  26. # cordova-plugin-statusbar
  27. StatusBar
  28. ======
  29. > The `StatusBar` object provides some functions to customize the iOS and Android StatusBar.
  30. :warning: Report issues on the [Apache Cordova issue tracker](https://issues.apache.org/jira/issues/?jql=project%20%3D%20CB%20AND%20status%20in%20(Open%2C%20%22In%20Progress%22%2C%20Reopened)%20AND%20resolution%20%3D%20Unresolved%20AND%20component%20%3D%20%22cordova-plugin-statusbar%22%20ORDER%20BY%20priority%20DESC%2C%20summary%20ASC%2C%20updatedDate%20DESC)
  31. ## Installation
  32. This installation method requires cordova 5.0+
  33. cordova plugin add cordova-plugin-statusbar
  34. Older versions of cordova can still install via the __deprecated__ id
  35. cordova plugin add org.apache.cordova.statusbar
  36. It is also possible to install via repo url directly ( unstable )
  37. cordova plugin add https://github.com/apache/cordova-plugin-statusbar.git
  38. Preferences
  39. -----------
  40. #### config.xml
  41. - __StatusBarOverlaysWebView__ (boolean, defaults to true). On iOS 7, make the statusbar overlay or not overlay the WebView at startup.
  42. <preference name="StatusBarOverlaysWebView" value="true" />
  43. - __StatusBarBackgroundColor__ (color hex string, no default value). On iOS 7, set the background color of the statusbar by a hex string (#RRGGBB) at startup. If this value is not set, the background color will be transparent.
  44. <preference name="StatusBarBackgroundColor" value="#000000" />
  45. - __StatusBarStyle__ (status bar style, defaults to lightcontent). On iOS 7, set the status bar style. Available options default, lightcontent, blacktranslucent, blackopaque.
  46. <preference name="StatusBarStyle" value="lightcontent" />
  47. - __StatusBarDefaultScrollToTop__ (boolean, defaults to false). On iOS 7, allows the Cordova WebView to use default scroll-to-top behavior. Defaults to false so you can listen to the "statusTap" event (described below) and customize the behavior instead.
  48. <preference name="StatusBarDefaultScrollToTop" value="false" />
  49. ### Android Quirks
  50. The Android 5+ guidelines specify using a different color for the statusbar than your main app color (unlike the uniform statusbar color of many iOS 7+ apps), so you may want to set the statusbar color at runtime instead via `StatusBar.backgroundColorByHexString` or `StatusBar.backgroundColorByName`. One way to do that would be:
  51. ```js
  52. if (cordova.platformId == 'android') {
  53. StatusBar.backgroundColorByHexString("#333");
  54. }
  55. ```
  56. Hiding at startup
  57. -----------
  58. During runtime you can use the StatusBar.hide function below, but if you want the StatusBar to be hidden at app startup, you must modify your app's Info.plist file.
  59. Add/edit these two attributes if not present. Set **"Status bar is initially hidden"** to **"YES"** and set **"View controller-based status bar appearance"** to **"NO"**. If you edit it manually without Xcode, the keys and values are:
  60. <key>UIStatusBarHidden</key>
  61. <true/>
  62. <key>UIViewControllerBasedStatusBarAppearance</key>
  63. <false/>
  64. Methods
  65. -------
  66. This plugin defines global `StatusBar` object.
  67. Although in the global scope, it is not available until after the `deviceready` event.
  68. document.addEventListener("deviceready", onDeviceReady, false);
  69. function onDeviceReady() {
  70. console.log(StatusBar);
  71. }
  72. - StatusBar.overlaysWebView
  73. - StatusBar.styleDefault
  74. - StatusBar.styleLightContent
  75. - StatusBar.styleBlackTranslucent
  76. - StatusBar.styleBlackOpaque
  77. - StatusBar.backgroundColorByName
  78. - StatusBar.backgroundColorByHexString
  79. - StatusBar.hide
  80. - StatusBar.show
  81. Properties
  82. --------
  83. - StatusBar.isVisible
  84. Events
  85. ------
  86. - statusTap
  87. Permissions
  88. -----------
  89. #### config.xml
  90. <feature name="StatusBar">
  91. <param name="ios-package" value="CDVStatusBar" onload="true" />
  92. </feature>
  93. StatusBar.overlaysWebView
  94. =================
  95. On iOS 7, make the statusbar overlay or not overlay the WebView.
  96. StatusBar.overlaysWebView(true);
  97. Description
  98. -----------
  99. On iOS 7, set to false to make the statusbar appear like iOS 6. Set the style and background color to suit using the other functions.
  100. Supported Platforms
  101. -------------------
  102. - iOS
  103. Quick Example
  104. -------------
  105. StatusBar.overlaysWebView(true);
  106. StatusBar.overlaysWebView(false);
  107. StatusBar.styleDefault
  108. =================
  109. Use the default statusbar (dark text, for light backgrounds).
  110. StatusBar.styleDefault();
  111. Supported Platforms
  112. -------------------
  113. - iOS
  114. - Android 6+
  115. - Windows Phone 7
  116. - Windows Phone 8
  117. - Windows Phone 8.1
  118. StatusBar.styleLightContent
  119. =================
  120. Use the lightContent statusbar (light text, for dark backgrounds).
  121. StatusBar.styleLightContent();
  122. Supported Platforms
  123. -------------------
  124. - iOS
  125. - Android 6+
  126. - Windows Phone 7
  127. - Windows Phone 8
  128. - Windows Phone 8.1
  129. StatusBar.styleBlackTranslucent
  130. =================
  131. Use the blackTranslucent statusbar (light text, for dark backgrounds).
  132. StatusBar.styleBlackTranslucent();
  133. Supported Platforms
  134. -------------------
  135. - iOS
  136. - Android 6+
  137. - Windows Phone 7
  138. - Windows Phone 8
  139. - Windows Phone 8.1
  140. StatusBar.styleBlackOpaque
  141. =================
  142. Use the blackOpaque statusbar (light text, for dark backgrounds).
  143. StatusBar.styleBlackOpaque();
  144. Supported Platforms
  145. -------------------
  146. - iOS
  147. - Android 6+
  148. - Windows Phone 7
  149. - Windows Phone 8
  150. - Windows Phone 8.1
  151. StatusBar.backgroundColorByName
  152. =================
  153. On iOS 7, when you set StatusBar.statusBarOverlaysWebView to false, you can set the background color of the statusbar by color name.
  154. StatusBar.backgroundColorByName("red");
  155. Supported color names are:
  156. black, darkGray, lightGray, white, gray, red, green, blue, cyan, yellow, magenta, orange, purple, brown
  157. Supported Platforms
  158. -------------------
  159. - iOS
  160. - Android 5+
  161. - Windows Phone 7
  162. - Windows Phone 8
  163. - Windows Phone 8.1
  164. StatusBar.backgroundColorByHexString
  165. =================
  166. Sets the background color of the statusbar by a hex string.
  167. StatusBar.backgroundColorByHexString("#C0C0C0");
  168. CSS shorthand properties are also supported.
  169. StatusBar.backgroundColorByHexString("#333"); // => #333333
  170. StatusBar.backgroundColorByHexString("#FAB"); // => #FFAABB
  171. On iOS 7, when you set StatusBar.statusBarOverlaysWebView to false, you can set the background color of the statusbar by a hex string (#RRGGBB).
  172. On WP7 and WP8 you can also specify values as #AARRGGBB, where AA is an alpha value
  173. Supported Platforms
  174. -------------------
  175. - iOS
  176. - Android 5+
  177. - Windows Phone 7
  178. - Windows Phone 8
  179. - Windows Phone 8.1
  180. StatusBar.hide
  181. =================
  182. Hide the statusbar.
  183. StatusBar.hide();
  184. Supported Platforms
  185. -------------------
  186. - iOS
  187. - Android
  188. - Windows Phone 7
  189. - Windows Phone 8
  190. - Windows Phone 8.1
  191. StatusBar.show
  192. =================
  193. Shows the statusbar.
  194. StatusBar.show();
  195. Supported Platforms
  196. -------------------
  197. - iOS
  198. - Android
  199. - Windows Phone 7
  200. - Windows Phone 8
  201. - Windows Phone 8.1
  202. StatusBar.isVisible
  203. =================
  204. Read this property to see if the statusbar is visible or not.
  205. if (StatusBar.isVisible) {
  206. // do something
  207. }
  208. Supported Platforms
  209. -------------------
  210. - iOS
  211. - Android
  212. - Windows Phone 7
  213. - Windows Phone 8
  214. - Windows Phone 8.1
  215. statusTap
  216. =========
  217. Listen for this event to know if the statusbar was tapped.
  218. window.addEventListener('statusTap', function() {
  219. // scroll-up with document.body.scrollTop = 0; or do whatever you want
  220. });
  221. Supported Platforms
  222. -------------------
  223. - iOS