fix: shadows ugly on ios
This commit is contained in:
parent
27d0d45129
commit
c1bea51576
1 changed files with 31 additions and 4 deletions
|
|
@ -1,12 +1,38 @@
|
||||||
import { View, Text, StyleSheet } from 'react-native'
|
import { View, Text, StyleSheet, Platform } from 'react-native'
|
||||||
import React from 'react'
|
import React from 'react'
|
||||||
import { ViewProps } from 'react-native/Libraries/Components/View/ViewPropTypes'
|
import { ViewProps } from 'react-native/Libraries/Components/View/ViewPropTypes'
|
||||||
import { useThemeColor } from '../../../hooks/hooks'
|
import { useThemeColor } from '../../../hooks/hooks'
|
||||||
import { SHADOWS } from '../../../constants/theme'
|
import { SHADOWS } from '../../../constants/theme'
|
||||||
|
|
||||||
|
function generateBoxShadowStyle(
|
||||||
|
xOffset: number,
|
||||||
|
yOffset: number,
|
||||||
|
shadowColorIos: string,
|
||||||
|
shadowOpacity: number,
|
||||||
|
shadowRadius: number,
|
||||||
|
elevation: number,
|
||||||
|
shadowColorAndroid: string
|
||||||
|
):void {
|
||||||
|
if(Platform.OS === 'ios'){
|
||||||
|
styles.boxShadow = {
|
||||||
|
shadowColor: shadowColorIos,
|
||||||
|
shadowOffset : {width: xOffset, height: yOffset},
|
||||||
|
shadowOpacity,
|
||||||
|
shadowRadius,
|
||||||
|
backgroundColor: useThemeColor("backgroundColor")
|
||||||
|
}
|
||||||
|
}else if (Platform.OS === 'android'){
|
||||||
|
styles.boxShadow = {
|
||||||
|
elevation: elevation,
|
||||||
|
shadowColor: shadowColorAndroid,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
export default function CustomCard(props : ViewProps) {
|
export default function CustomCard(props : ViewProps) {
|
||||||
|
generateBoxShadowStyle(1, 1, '#171717', 0.2, 20, 10, '#171717')
|
||||||
return (
|
return (
|
||||||
<View style={[styles.container, SHADOWS.light, props.style]}>
|
<View style={[styles.container, styles.boxShadow, props.style]}>
|
||||||
{props.children}
|
{props.children}
|
||||||
</View>
|
</View>
|
||||||
)
|
)
|
||||||
|
|
@ -18,6 +44,7 @@ const styles = StyleSheet.create({
|
||||||
alignItems: "stretch",
|
alignItems: "stretch",
|
||||||
alignContent: "space-between",
|
alignContent: "space-between",
|
||||||
borderRadius: 20,
|
borderRadius: 20,
|
||||||
marginHorizontal: 10
|
marginHorizontal: 10,
|
||||||
}
|
},
|
||||||
|
boxShadow: {},
|
||||||
})
|
})
|
||||||
Reference in a new issue