Guest User

Untitled

a guest
Dec 17th, 2018
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.17 KB | None | 0 0
  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. }
Add Comment
Please, Sign In to add comment