在 Android 上使用 React Native 的图像的透明背景色
Transparent backgroundColor for an Image using React Native on Android
我在我们的应用程序中使用了透明背景的资产。在 iOS 上,图像组件的设置 backgroundColor: 'transparent'
按预期工作,在 Android 上,它总是以浅灰色背景呈现。
事实上,backgroundColor 值似乎在 Android 上被完全忽略了。
这是现在的样子:
<View style={styles.cardHeader}>
<Image
source={require('../assets/images/greeting.png')}
style={styles.greetingImage} />
</View>
样式:
cardHeader: {
alignSelf: 'stretch',
backgroundColor: Color.GREY,
paddingTop: 30,
borderTopLeftRadius: 5,
borderTopRightRadius: 5
},
greetingImage: {
alignSelf: 'center',
backgroundColor: 'transparent'
}
我意识到我正在从 shoutem-ui 而不是 react-native
导入我的 Image
组件。这就是为什么我无法设置背景颜色的原因,前者似乎忽略了它,但后者却没有。
如果您偶然发现类似的东西,请确保您从正确的包中导入组件:
import {Image} from 'react-native';
您还可以将 StyleSheet.absoluteFillObject 添加到容器中。
greetingImage: {
...StyleSheet.absoluteFillObject
alignSelf: 'center',
backgroundColor: 'transparent'
}
我在我们的应用程序中使用了透明背景的资产。在 iOS 上,图像组件的设置 backgroundColor: 'transparent'
按预期工作,在 Android 上,它总是以浅灰色背景呈现。
事实上,backgroundColor 值似乎在 Android 上被完全忽略了。
这是现在的样子:
<View style={styles.cardHeader}>
<Image
source={require('../assets/images/greeting.png')}
style={styles.greetingImage} />
</View>
样式:
cardHeader: {
alignSelf: 'stretch',
backgroundColor: Color.GREY,
paddingTop: 30,
borderTopLeftRadius: 5,
borderTopRightRadius: 5
},
greetingImage: {
alignSelf: 'center',
backgroundColor: 'transparent'
}
我意识到我正在从 shoutem-ui 而不是 react-native
导入我的 Image
组件。这就是为什么我无法设置背景颜色的原因,前者似乎忽略了它,但后者却没有。
如果您偶然发现类似的东西,请确保您从正确的包中导入组件:
import {Image} from 'react-native';
您还可以将 StyleSheet.absoluteFillObject 添加到容器中。
greetingImage: {
...StyleSheet.absoluteFillObject
alignSelf: 'center',
backgroundColor: 'transparent'
}