Advertisement
rodrigofbm

Untitled

May 12th, 2018
235
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*
  2. I want to use it in another component like this:
  3. fontSize: classInstance.scale (txtScale), where txtScale is a state in the class that has the code.
  4. */
  5.  
  6. state = {
  7.         orientation: null,
  8.         devicetype: null,
  9.         width: null,
  10.         inputSize: null,
  11.         scale: null,
  12.         textScale: null
  13.     };
  14.  
  15.     //Guideline sizes are based on standard ~5" screen mobile device
  16.     guidelineBaseWidth = 350;
  17.     guidelineBaseHeight = 680;
  18.  
  19.    
  20.  
  21.     componentWillMount(){
  22.         //alert(DeviceInfo.isTablet())
  23.         // Event Listener for orientation changes
  24.         Dimensions.addEventListener('change', () => {
  25.             this.setState({
  26.                orientation: isPortrait() ? 'portrait' : 'landscape',
  27.                devicetype: DeviceInfo.isTablet() ? 'tablet' : 'phone',
  28.                width: Dimensions.get('window').width,
  29.            });
  30.  
  31.            if(isPortrait()){
  32.                 this.setState({
  33.                     scale:  DeviceInfo.isTablet() ? 315: 279,
  34.                     textScale: DeviceInfo.isTablet() ? 18: 16,
  35.                 })
  36.            }else{
  37.                 this.setState({
  38.                     scale:  DeviceInfo.isTablet() ? 323 : 306,
  39.                     textScale: DeviceInfo.isTablet() ? 18: 16,
  40.                 })
  41.            }
  42.         });
  43.  
  44.        
  45.         if(isPortrait()){
  46.             this.setState({
  47.                 scale:  DeviceInfo.isTablet() ? 315: 279,
  48.                 textScale: DeviceInfo.isTablet() ? 18: 16,
  49.             })
  50.         }else{
  51.             this.setState({
  52.                 scale:  DeviceInfo.isTablet() ? 323 : 306,
  53.                 textScale: DeviceInfo.isTablet() ? 18: 16,
  54.             })
  55.         }
  56.     }
  57.  
  58.     scale(size) {
  59.         return Dimensions.get('window').width / this.guidelineBaseWidth * size;
  60.     }
  61.  
  62.     verticalScale (size) {
  63.         return Dimensions.get('window').height / this.guidelineBaseHeight * size
  64.     }
  65.  
  66.     moderateScale (size, factor = 0.5) {
  67.        return size + ( this.scale(size) - size ) * factor;
  68.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement