У меня есть фоновое изображение, на нем я хочу написать текст, который можно перетаскивать в любом месте экрана. Прямо сейчас я использую компонент «Reaction-native-draggable» для этой работы.
Моя цель состоит в том, чтобы найти начальную позицию (координаты XY) текста, как только перетаскивание отпущено. Пример: текст «Hello world», если я перетаскиваю его полностью вверх и полностью влево, то мне нужно знать значения XY = 0, 0, если я перетаскиваю этот текст горизонтально без изменения Y, то X, Y = скажем, 100,0
Я читал onLayout могу, но я не смог заставить его работать, так как я только начал играть с реагировать родной.
Вот мой код
import React from 'react';
import { StyleSheet, Text, View, ImageBackground, StatusBar, Button, Dimensions,Image } from 'react-native';
import Draggable from 'react-native-draggable';
export default class App extends React.Component {
constructor(props) {
super(props);
this.maxWidth = Dimensions.get('window').width - 20;
this.maxHeight = Dimensions.get('window').height - 40;
this.state = {};
}
onDragReleaseCustom(value) {
console.log('drag release', value.nativeEvent);
console.log('drag release', value.nativeEvent);
}
onLayout = (e) => {
console.log("working gere");
console.log(e.nativeEvent);
console.log("widht,height",e.nativeEvent.layout.x,e.nativeEvent.layout.y)
}
render() {
return (
<>
<StatusBar hidden />
<View style={styles.container}>
<ImageBackground source={require('./assets/bg1.jpg')} style={styles.backgroundImage}>
</ImageBackground>
</View>
<Draggable
minX = {15}
minY = {15}
maxX = {this.maxWidth}
maxY = {this.maxHeight}
x = {30}
y = {112}
onDragRelease = {this.onLayout()}>
<View >
<Text style={styles.customText}>Hi this is an example </Text>
</View>
</Draggable>
<View style={styles.buttonStyle}>
<Button color="#f00fff" title="Save"></Button>
</View>
</>
);
}
}
Может кто-нибудь предложить лучшие способы для достижения этой цели. любая помощь очень ценится.