Вы можете достичь этого по абсолютной позиции. Вы специально попросили компонент карты. но этот подход работает на все взгляды. Здесь вы можете отнести это закуска . Я построил это с помощью компонента карты, используя Reaction-native-Card
import * as React from 'react';
import {
Text,
View,
StyleSheet,
Image,
Dimensions,
ImageBackground,
} from 'react-native';
import Constants from 'expo-constants';
import { Card } from 'react-native-paper';
export default class App extends React.Component {
render() {
return (
<View style={styles.container}>
<Card style={{ width: '100%', height: '50%', borderRadius: 10 }}>
<ImageBackground
style={{
width: '100%',
height: '80%',
resizeMode: 'contain',
borderTopLeftRadius: 10,
borderTopRightRadius: 10,
}}
source={{
uri:'https://images.unsplash.com/photo-1522057306606-8d84daa75e87?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=967&q=80',
}}
/>
{/** top-right corner */}
<View style={{ position: 'absolute', top: 0, right: 0 }}>
<Text
style={{
fontSize: 20,
color: 'black',
backgroundColor: 'white',
}}>
35 mins
</Text>
</View>
{/** top -left */}
<View style={{ position: 'absolute', top: 10, left: 0 }}>
<Text
style={{ fontSize: 20, color: 'white', backgroundColor: 'red' }}>
Flat 50%
</Text>
</View>
<View style={{ position: 'absolute', top: 40, left: 0 }}>
<Text
style={{ fontSize: 20, color: 'white', backgroundColor: 'red' }}>
Free delivery
</Text>
</View>
{/**Card text */}
<Text style={{ fontSize: 20, fontWeight: 'bold', paddingLeft: 8 }}>
Papa's john town
</Text>
<Text />
</Card>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
paddingTop: Constants.statusBarHeight,
backgroundColor: '#ecf0f1',
padding: 8,
},
});