2

我是 react-native 的新手,并尝试根据 DPI 在不同的 android 设备上渲染图像。需要帮助。

获取设备 DPI 的代码是 -

import {PixelRatio} from 'react-native';

const PDI = PixelRatio.get();
var localPath='';

if(PDI == 1){
    localPath = '../../assets/img/drawable-mdpi'
}
else if(PDI == 1.5){
    localPath = '../../assets/img/drawable-hdpi'
}
else if(PDI == 2){
    localPath = '../../assets/img/drawable-xhdpi'
}
else if(PDI == 3){
    localPath = '../../assets/img/drawable-xxhdpi'
}
else if(PDI == 3.5){
    localPath = '../../assets/img/drawable-xxxhdpi'
}
export {PDI, localPath};

react-native app.js 文件是 -

import React, {Component} from 'react';
import {View, Image, StyleSheet, StatusBar, Alert} from 'react-native';
import { PDI, localPath } from '../../helper/device-size-android/GetDeviceSizeAndroid';

export default class TestImg extends Component {
  componentDidMount() {
    setTimeout(() => {
      this.props.navigation.navigate('Home')
    }, 3000);
  }
  render() {
    return (
      <View>
         <StatusBar
            barStyle = "dark-content"
         />
        <Image
          source={require(localPath + '/Splash.png')}
        />
      </View>
    );
  }
}
4

0 回答 0