@freakycoder/react-native-helpers
Advanced tools
@@ -49,8 +49,10 @@ import { Platform, Dimensions, NativeModules } from "react-native"; | ||
| const determineIsTablet = () => { | ||
| const { width, height } = Dimensions.get("window"); | ||
| const aspectRatio = height / width; | ||
| const { width, height } = Dimensions.get("screen"); | ||
| const minDimension = Math.min(width, height); | ||
| const maxDimension = Math.max(width, height); | ||
| const aspectRatio = maxDimension / minDimension; | ||
| const minTabletWidth = 600; // dp | ||
| const maxPhoneAspectRatio = 1.6; // Typical phone aspect ratio | ||
| return ((isAndroid || isIOS) && | ||
| (width >= minTabletWidth || aspectRatio <= maxPhoneAspectRatio)); | ||
| (minDimension >= minTabletWidth || aspectRatio <= maxPhoneAspectRatio)); | ||
| }; | ||
@@ -57,0 +59,0 @@ // Singleton value to prevent recalculating multiple times |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"DeviceInfo.js","sourceRoot":"","sources":["../../../../lib/helpers/device/DeviceInfo.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"DeviceInfo.js","sourceRoot":"","sources":["../../../../lib/helpers/device/DeviceInfo.ts"],"names":[],"mappings":"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"} |
@@ -53,5 +53,7 @@ import { Platform, Dimensions, NativeModules } from "react-native"; | ||
| const determineIsTablet = (): boolean => { | ||
| const { width, height } = Dimensions.get("window"); | ||
| const aspectRatio = height / width; | ||
| const { width, height } = Dimensions.get("screen"); | ||
| const minDimension = Math.min(width, height); | ||
| const maxDimension = Math.max(width, height); | ||
| const aspectRatio = maxDimension / minDimension; | ||
| const minTabletWidth = 600; // dp | ||
@@ -62,3 +64,3 @@ const maxPhoneAspectRatio = 1.6; // Typical phone aspect ratio | ||
| (isAndroid || isIOS) && | ||
| (width >= minTabletWidth || aspectRatio <= maxPhoneAspectRatio) | ||
| (minDimension >= minTabletWidth || aspectRatio <= maxPhoneAspectRatio) | ||
| ); | ||
@@ -65,0 +67,0 @@ }; |
+1
-1
| { | ||
| "name": "@freakycoder/react-native-helpers", | ||
| "version": "2.5.0", | ||
| "version": "2.5.1", | ||
| "description": "All helpers in one; iPhone series support, dimensions helper, hasNotch helper, normalize text helper and text helpers for React Native with very easy use", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
+3
-0
@@ -36,2 +36,3 @@ <img alt="React Native Helpers" src="assets/logo.png" width="1050"/> | ||
| isAndroid, | ||
| isTablet | ||
| } from "@freakycoder/react-native-helpers"; | ||
@@ -43,2 +44,3 @@ | ||
| <Container title="Screen Width" subtitle={ScreenWidth} /> | ||
| <Container title="Tablet?: " subtitle={isTablet ? "Tablet" : "Phone"} /> | ||
| </View>; | ||
@@ -117,2 +119,3 @@ ``` | ||
| | isAndroid | boolean | returns if it is an Android device or not | | ||
| | isTablet | boolean | returns if it is a tablet or phone | | ||
| | ScreenWidth | number | get the device's screen width | | ||
@@ -119,0 +122,0 @@ | ScreenHeight | number | get the device's screen height | |
Sorry, the diff of this file is not supported yet
112968
0.54%742
0.54%184
1.66%