我使用了嵌套图像,因此我可以在加载图像时使用占位符,外部图像上的边框半径根本不起作用
<Image
style={{
width: imageWidth / 1.5,
height: imageWidth / 1.5,
borderRadius: imageWidth,
}}
source={placeholder}
>
<Image
style={{
width: imageWidth / 1.5,
height: imageWidth / 1.5,
borderRadius: imageWidth,
}}
source={{uri: 'some https image source'}
/>
</Image>
它看起来像这样:
关于如何解决此问题或以其他方式实施占位符的任何想法。
答案 0 :(得分:1)
我现在使用以下内容,在iOS上你必须有一个视图包装图像以显示图像。
<TouchableOpacity
style={[CommonStyles.PlaceholderColor,
{ width: imageWidth / 1.75,
height: imageWidth / 1.75,
borderRadius: imageWidth }]}
onPress={() => {
InteractionManager.runAfterInteractions(() => {
Actions.friendProfile({ user });
});
}}
>
<View
style={{
width: imageWidth / 1.75,
height: imageWidth / 1.75,
borderRadius: imageWidth,
overflow: 'hidden'
}}>
<Image
style={{
width: imageWidth / 1.75,
height: imageWidth / 1.75,
...Platform.select({
android: {
borderRadius: imageWidth
}
})
}}
source={source}
/>
</View>
</TouchableOpacity>
答案 1 :(得分:0)
有很多方法可以做到这一点,虽然它可能不是最有效的,但我认为你可以通过使用方法来实现这一点。
类似......
// ....other code
showImage(){
if (not ready){
return 'a different URI';
}
return 'original URI'
}
render(){
renturn (
<Image
style={{
width: imageWidth / 1.5,
height: imageWidth / 1.5,
borderRadius: imageWidth,
}}
source={this.showImage.bind(this)}
/>
)}
您也可以在使用状态时应用相同的逻辑,但考虑到我不知道您的程序的范围,更改状态可能并不理想。
答案 2 :(得分:0)
对于有图像等的borderRadius问题的人-在四处寻找之后,这对我才有用: About React Example 基本上-您需要使用封闭视图来设置尺寸和边框,并且图像本身也要具有基本尺寸