调整图像大小以使其居中

时间:2018-12-21 00:56:09

标签: css react-native flexbox react-native-image

我有这样的图像:

enter image description here

我正在尝试制作一个100x100的正方形,然后将其中的图像居中放置。我可以使用以下代码获得100x100的正方形:

import * as React from 'react';
import { View, Image, StyleSheet } from 'react-native';

class App extends React.Component {
  render() {
    return (
      <View style={styles.container}>
        <View style={styles.imageContainer}>
          <Image
            source={{ uri: 'https://storage.googleapis.com/iex/api/logos/GOOGL.png', }}
            style={styles.image}
          />
        </View>
      </View>
    );
  }
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center'
  },
  imageContainer: {
    borderWidth: 1
  },
  image: {
    width: 100,
    height: 100
  }
});

export default App;

但是这会切断图像:

enter image description here

有没有一种方法可以设置100x100的宽度/高度,但可以根据需要调整图像的大小以适合正方形并居中放置?谢谢!

3 个答案:

答案 0 :(得分:1)

您尝试过类似的方法吗?它来自React Native,称为resizeMode。

enter image description here

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center'
  },
  imageContainer: {
    borderWidth: 1
  },
  image: {
    width: 100,
    height: 100,
    resizeMode: 'contain'
  }
});

答案 1 :(得分:0)

这里是一个链接,对我来说非常有用!是 jQuery Image Cente r。 通过移动,裁剪和填充其父容器内的空间来居中图像。保持宽高比

http://boxlight.github.com/bl-jquery-image-center

答案 2 :(得分:0)

有关调整大小,请参阅文档中的resizeMode和resizeMethod文档。