Я хочу сделать компонент с «закругленным дном», без использования ImageBackground
, например:
Я пытался использовать комбинацию <LinearGradient/>
,но чтобы упростить код в этом вопросе, я использовал <View/>
.
Вот мой код:
import React from 'react'
import { Dimensions, StyleSheet, View } from 'react-native'
export default class App extends React.Component {
constructor(props) {
super(props)
}
render() {
return (
<View style={classes.container}>
<View style={classes.block} />
<View style={classes.roundedBlock} />
</View>
)
}
}
const classes = StyleSheet.create({
container: {
flex: 1,
marginTop: 30,
},
block: {
height: 135,
backgroundColor: 'red',
},
roundedBlock: {
height: 15,
backgroundColor: 'red',
width: Dimensions.get('window').width,
borderBottomLeftRadius: Dimensions.get('window').width / 2,
borderBottomRightRadius: Dimensions.get('window').width / 2,
}
})
Этот код доступен для целей тестирования на Expo Snack
Вот результат:
Как видите, borderRadius ограничен до7.5px, что составляет половину высоты блока вместо половины ширины , как требуется.
Есть ли способ переопределить этот предел?Если нет, есть ли способ добиться того, чего я хочу?