答案 0 :(得分:0)
您可以使用 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
}}
/>
您可以根据需要和要求更改这些值。
答案 1 :(得分:0)
您可以将overflow
CSS道具与border-radius
<强>示例强>
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'
}
});
答案 2 :(得分:0)
这是我找到的图像左右两个位置的解决方案:
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;
}
}