React Native - Полукруг изображения (с использованием CSS) - PullRequest
0 голосов
/ 03 мая 2018

У меня есть круглое изображение, которое мне нужно показать в Полукруг , используя React Native , как , показанное в прикрепленном файле . Пожалуйста, помогите с CSS.

enter image description here

Ответы [ 3 ]

0 голосов
/ 03 мая 2018

Вы можете использовать overflow CSS prop с комбинацией border-radius

Sample

export default class App extends Component {
  render() {
    return (
      <View style={styles.container}>
        <View style={styles.imageContainer}>
          <View style={styles.imageWrapper}>
            <Image source={{uri: 'https://dummyimage.com/500x500/000/fff.png'}} style={styles.image} />
          </View>
        </View>
      </View>
    );
  }
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
  },
  imageContainer: {
    alignItems: 'center',
    backgroundColor: 'yellow'
  },
  imageWrapper: {
    width: 125, // half of the image width
    height: 250,
    backgroundColor: 'transparent',
    overflow: 'hidden'
  },
  image: {
    width: 250,
    height: 250,
    borderRadius: 125, // half of the image width
    backgroundColor: 'transparent'
  }
});
0 голосов
/ 03 мая 2018

Вот решение, которое я нашел для левой и правой позиции изображения:

renderLeftRightImage (item, index) {
    var imagePath = item.image?(Strings.BASE_IMAGE_URL+item.image[0].image):'https://placeimg.com/640/480/people';        

    if(item.position == 'left'){
        return(
            <View style={{overflow: 'hidden', width : 105, height:210, position : 'absolute', left:80,  bottom:62, borderTopLeftRadius:150, borderBottomLeftRadius:150, backgroundColor:'transparent'}}>
                <Image style={{width : 210, height:210}} source={{uri:imagePath}}/>
            </View>
        )
    }
    else if(item.position == 'right'){
        return(
            <View style={{overflow: 'hidden', width : 105, height:210, position : 'absolute', right:80,  bottom:62, borderTopRightRadius:150, borderBottomRightRadius:150, backgroundColor:'transparent'}}>
                <Image style={{width : 210, height:210, position:'absolute', right:0}} source={{uri:imagePath}}/>
            </View>
        )
    }
    else{
        return null;
    }
}
0 голосов
/ 03 мая 2018

Вы можете создать полукруг, используя стиль borderBottomLeftRadius и borderTopLeftRadius . Вы можете создать изображение полукруга, как показано ниже: -

<Image 
    source={{"uri": 'https://www.w3schools.com/html/pulpitrock.jpg'}}
    style={{
        margin: 30, 
        height: 100, // change these values according to your requirement.
        width: 50, 
        borderTopLeftRadius: 50, 
        borderBottomLeftRadius: 50
    }}
/>

Вы можете изменить эти значения в соответствии с вашими потребностями и требованиями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...