SHARE
TWEET

Untitled

a guest Dec 17th, 2018 67 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import { Platform, Dimensions, StatusBar } from 'react-native';
  2.  
  3. export function isIphoneX() {
  4.   const dimen = Dimensions.get('window');
  5.   return (
  6.     Platform.OS === 'ios' &&
  7.     !Platform.isPad &&
  8.     !Platform.isTVOS &&
  9.     (dimen.height === 812 || dimen.width === 812)
  10.   );
  11. }
  12.  
  13. export function ifIphoneX(iphoneXStyle, regularStyle) {
  14.   if (isIphoneX()) {
  15.     return iphoneXStyle;
  16.   }
  17.   return regularStyle;
  18. }
  19.  
  20. //если парамерт скип андроид задан тру, то для андроид девайсов вернется ноль,
  21. //это позваляет вызывать метод с параметром тру прямо в стайлах, т.к. при постороении
  22. //экрана на андроиде, статус бар уже учтен. если нужно узнать размер статус бара на андроиде,
  23. //значение параметра должно быть фолс
  24. //ПыСы коммент удали
  25. export function getStatusBarHeight(skipAndroid: boolean = false) {
  26.   if (Platform.OS === 'ios') {
  27.     return ifIphoneX(44, 20);
  28.   }
  29.  
  30.   if (skipAndroid) {
  31.     return 0;
  32.   }
  33.  
  34.   return StatusBar.currentHeight;
  35. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Not a member of Pastebin yet?
Sign Up, it unlocks many cool features!
 
Top