Как сделать обрезанное изображение, чтобы заполнить все View с flexbox и React-Native? - PullRequest
0 голосов
/ 15 апреля 2020

Я хочу сделать обрезанное изображение, чтобы заполнить все представление в моем приложении.

Мой код теперь таков:

enter image description here

Но я хотел, чтобы этот маленький квадрат с Гомером, который ест пончики, заполнил весь экран , как это моделирование я сделал:

enter image description here

Это мой код:

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

export default class CroppedImage extends React.Component {
  render() {
    return (
      <View style={styles.container}>
        <View style={styles.cropped}>
          <Image
            style={styles.image}
            source={{
              uri:
                'https://upload.wikimedia.org/wikipedia/en/0/02/Homer_Simpson_2006.png'
            }}
          />
        </View>
      </View>
    );
  }
}

const OFFSET_LEFT = 0;
const OFFSET_TOP = 0;
const IMAGE_WIDTH = 239 * 1.5;
const IMAGE_HEIGHT = 391 * 1.5;

const styles = StyleSheet.create({
  container: {
    flex: 1,
    backgroundColor: '#6699CC'
  },

  bg: {
    opacity: 0.25,
    width: IMAGE_WIDTH,
    height: IMAGE_HEIGHT
  },

  image: {
    marginLeft: -OFFSET_LEFT,
    marginTop: -OFFSET_TOP,
    width: IMAGE_WIDTH,
    height: IMAGE_HEIGHT
  },

  cropped: {
    width: 150,
    height: 150,
    overflow: 'hidden',
    position: 'absolute'
  }
});

Любая помощь здесь?

1 Ответ

1 голос
/ 15 апреля 2020

Попробуйте добавить свойство resizeMode к изображению следующим образом:

 <Image
    style={styles.image}
    source={{
    uri:'https://upload.wikimedia.org/wikipedia/en/0/02/Homer_Simpson_2006.png'
    }}
    resizeMode:'contain'
 />

и дайте мне знать, работает ли оно или нет!

...