我想创建一个带边框的圆角图像.如果我添加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,
},
});
Run Code Online (Sandbox Code Playgroud)
Man*_*ish 11
使用以下样式,对我来说很有效。
image: {
width: 150,
height: 150,
borderRadius: 150 / 2,
overflow: "hidden",
borderWidth: 3,
borderColor: "red"
}
Run Code Online (Sandbox Code Playgroud)
Cha*_*eth 11
值得一提的是Android...
我必须专门设置resizeMode="cover"borderRadius 才能生效。
<Image
style={styles.image}
source={source}
resizeMode={"cover"} // <- needs to be "cover" for borderRadius to take effect on Android
/>
const styles = StyleSheet.create({
image: {
width: 150,
height: 150,
borderColor: 'red,
borderWidth: 2,
borderRadius: 75
},
});
Run Code Online (Sandbox Code Playgroud)
边框宽度总计等于您添加到的组件的大小。这使您的图像大于容器组件的大小。要解决此问题,您可以将边框宽度添加到组件尺寸中。
例
const styles = StyleSheet.create({
profileImgContainer: {
marginLeft: 8,
height: 82,
width: 82,
borderRadius: 40,
borderWidth: 1
},
profileImg: {
height: 80,
width: 80,
borderRadius: 40,
},
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18634 次 |
| 最近记录: |