React Native 中的提升
Elevation in React Native
这是我在 React-Native 屏幕中定义的样式。我用过 elevation
属性实现了box-shadow。但是它不能正常工作。
const styles = StyleSheet.create({
scrollContainer: {
flex: 1,
},
container: {
flex: 1,
flexDirection: "row",
flexWrap: "wrap",
padding: 2
},
box: {
margin: 8,
width: Dimensions.get('window').width / 2 - 18,
height: Dimensions.get('window').width / 2 - 18,
justifyContent: "center",
alignItems: "center",
borderStyle: 'dashed',
borderLeftWidth: 1,
borderTopWidth: 1,
borderRightWidth: 1,
borderBottomWidth: 1,
borderTopColor: 'black',
borderBottomEndRadius : 8,
borderTopStartRadius: 8,
borderTopEndRadius: 8,
borderBottomStartRadius: 8,
borderBottomLeftRadius:8,
borderBottomRightRadius:8,
elevation: 5
},
navBar:{
backgroundColor: "#000",
}
});
我也试过使用 box-shadow 但同样的问题出现了。
尝试将以下属性添加到 styles.box
。您可以更改值以获得更好的结果。
// ...
box: {
// ...
shadowColor: '#000',
shadowOffset: { width: 0, height: 2 },
shadowOpacity: 0.5,
shadowRadius: 2,
elevation: 2,
},
// ...
经过一番调查,我找到了可行的解决方案,就在这里。 github issue.
上对这个问题进行了广泛的讨论
box: {
margin: 8,
shadowColor: '#000',
shadowOffset: { width: 0, height: 2 },
shadowOpacity: 0.5,
shadowRadius: 2,
elevation: 2,
}
而不是仅使用高程 属性。另外,请确保为框留出适当的边距以获得适当的间距。在我的案例中,我缺乏保证金。希望它的有用发现对您有所帮助。
您可以使用下面的代码
height: 150,
width: '100%',
backgroundColor: 'white',
elevation: 5,
shadowColor: '#000',
shadowOffset: {width: 0, height: 0},
shadowOpacity: 0.1,
shadowRadius: 5,
您可以在视图中添加此样式
headerstyle:{
shadowColor: '#000',
shadowOffset: { width: 0, height: 2 },
shadowOpacity: 0.5,
shadowRadius: 2,
elevation: 2,
alignSelf: 'stretch'
},
这是我在 React-Native 屏幕中定义的样式。我用过 elevation
属性实现了box-shadow。但是它不能正常工作。
const styles = StyleSheet.create({
scrollContainer: {
flex: 1,
},
container: {
flex: 1,
flexDirection: "row",
flexWrap: "wrap",
padding: 2
},
box: {
margin: 8,
width: Dimensions.get('window').width / 2 - 18,
height: Dimensions.get('window').width / 2 - 18,
justifyContent: "center",
alignItems: "center",
borderStyle: 'dashed',
borderLeftWidth: 1,
borderTopWidth: 1,
borderRightWidth: 1,
borderBottomWidth: 1,
borderTopColor: 'black',
borderBottomEndRadius : 8,
borderTopStartRadius: 8,
borderTopEndRadius: 8,
borderBottomStartRadius: 8,
borderBottomLeftRadius:8,
borderBottomRightRadius:8,
elevation: 5
},
navBar:{
backgroundColor: "#000",
}
});
我也试过使用 box-shadow 但同样的问题出现了。
尝试将以下属性添加到 styles.box
。您可以更改值以获得更好的结果。
// ...
box: {
// ...
shadowColor: '#000',
shadowOffset: { width: 0, height: 2 },
shadowOpacity: 0.5,
shadowRadius: 2,
elevation: 2,
},
// ...
经过一番调查,我找到了可行的解决方案,就在这里。 github issue.
上对这个问题进行了广泛的讨论box: {
margin: 8,
shadowColor: '#000',
shadowOffset: { width: 0, height: 2 },
shadowOpacity: 0.5,
shadowRadius: 2,
elevation: 2,
}
而不是仅使用高程 属性。另外,请确保为框留出适当的边距以获得适当的间距。在我的案例中,我缺乏保证金。希望它的有用发现对您有所帮助。
您可以使用下面的代码
height: 150,
width: '100%',
backgroundColor: 'white',
elevation: 5,
shadowColor: '#000',
shadowOffset: {width: 0, height: 0},
shadowOpacity: 0.1,
shadowRadius: 5,
您可以在视图中添加此样式
headerstyle:{
shadowColor: '#000',
shadowOffset: { width: 0, height: 2 },
shadowOpacity: 0.5,
shadowRadius: 2,
elevation: 2,
alignSelf: 'stretch'
},