我想创建一个带边框的圆形图像。如果我添加borderColor: 'green', borderWidth:1
,边框只在圆形图像的左上角可见。
<TouchableHighlight
style={[styles.profileImgContainer, { borderColor: 'green', borderWidth:1 }]}
>
<Image source={{ uri:"https://www.t-nation.com/system/publishing/articles/10005529/original/6-Reasons-You-Should-Never-Open-a-Gym.png" }} style={styles.profileImg} />
</TouchableHighlight>
export default styles = StyleSheet.create({
profileImgContainer: {
marginLeft: 8,
height: 80,
width: 80,
borderRadius: 40,
},
profileImg: {
height: 80,
width: 80,
borderRadius: 40,
},
});
6条答案
按热度按时间ruarlubt1#
overflow: 'hidden'
for images容器解决了这个问题。i7uaboj42#
使用下面的造型,这是我的工作。
ymdaylpp3#
值得一提的是Android...
我必须专门设置
resizeMode="cover"
才能使borderRadius生效。ttygqcqt4#
边框宽度与添加到的组件的大小相加。这会使图像大于容器组件的大小。若要解决此问题,可以将边框宽度添加到组件大小中。
fivyi3re5#
如果你想显示圆角的图像,并且使用resizeMode={'contain'}来显示完整的图像,那么将图像包裹在视图中,然后给视图给予边界半径。
以及样式部分
svujldwt6#
这里给出的答案很好,但是,根据我的经验,最好使用可用屏幕高度的百分比作为图像的宽度和高度尺寸。这将对响应性有很大帮助。这样做
然后应用以下作为尺寸样式,以获得一个漂亮的,响应圆形图像。
(*0.15即15%的屏幕高度)只是我选择的样本尺寸,你可以使用更高或更低,这取决于你想要你的图像有多大。