React Native implementiert die Überwachungsgeste zum Hoch- und Runterziehen. Der detaillierte Kerncode lautet wie folgt: Code: importiere {PanResponder} von ‚react-native‘; var Dimensionen = erfordern('Dimensionen'); const deviceHeight = Dimensions.get("Fenster").height; const Gerätebreite = Dimensions.get("Fenster").width; Klasse TaskfinishedPage erweitert Komponente { Konstruktor(Requisiten) { super(Requisiten); Konsole.disableYellowBox = wahr; dieser.Zustand = { silderMargin: Gerätehöhe-230, }; dies.letztesY1 = dieser.Zustand.silderMargin; } KomponenteWillMount() { this._panResponder = PanResponder.create({ beimStartenSolltePanResponderEinstellen:(evt, gestureState) => { gibt true zurück; }, beiBewegungSolltePanRespondereinstellen: (evt, Gestenstatus) => { gibt true zurück; }, onPanResponderGrant: (evt, GesteState) => { dies._highlight(); }, beiPanResponderMove: (evt, Gestenstatus) => { console.log(`gestureState.dx : ${gestureState.dx} gestureState.dy : ${gestureState.dy}`); wenn (50 < this.lastY1 + gestureState.dy und this.lastY1 + gestureState.dy < Gerätehöhe - 230) { dies.setState({ // marginLeft1: this.lastX1 + gestureState.dx, silderMargin: this.lastY1 + gestureState.dy, }); } }, beiPanResponderRelease: (evt, Gestenstatus) => { dies._unhighlight(); dies.letztesY1 = dieser.Zustand.silderMargin; }, onPanResponderTerminate: (evt, Gestenstatus) => { }, }); } //Diese beiden Methoden werden ausgelöst, wenn die Hand den Punkt berührt und wieder verlässt. _unhighlight(){ dies.setState({ Schieberegler-Hintergrundfarbe: „transparent“, }); } _hervorheben(){ dies.setState({ Schieberegler-Hintergrundfarbe: „transparent“, }); } rendern() { zurückkehren ( <Container}> <Kopfzeile> <Links> <Schaltfläche transparent beim Drücken={() => { NavigationUtil.resetGoBack(this.props.navigation); }}> <Symbolname = 'Pfeil zurück' Stil = {{Farbe: '#000'}}/> </Button> </Links> <Text> <Text style={{color:'#000'}}>Details zur abgeschlossenen Mission</Text> </Body> <Rechts /> </Header> <Ansichtsstil={{ flex: 1 }}> <Ansichtsstil={ [Stile.Panelansicht, { Hintergrundfarbe: this.state.sliderBackgroundcolor, marginTop: this.state.silderMargin, zIndex:100 } ]} {...this._panResponder.panHandlers} > </Anzeigen> </Anzeigen> </Container> ); } const Stile = { Panelansicht: { Breite: Gerätebreite-20, Höhe: 410, Rand links: 10, Rand rechts: 10, Grenzradius: 6, } } Standardmäßige TaskfinishedPage exportieren; Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
<<: MySQL-FAQ-Serie: Wann werden temporäre Tabellen verwendet?
>>: So konfigurieren Sie Nginx, um die Zugriffshäufigkeit derselben IP zu begrenzen
Der Erste: 1. Fügen Sie wichtige Headerdateien hi...
Über Nginx, eine leistungsstarke, leichte Webserv...
Experimentelle Umgebung Eine minimal installierte...
Ernsthafte MySQL-Optimierung! Wenn die MySQL-Date...
Diese Geschichte beginnt heute mit einer unerwarte...
Ein einfaches Beispiel für die Verwendung der dre...
Inhaltsverzeichnis Vorne geschrieben router.json ...
Vorwort Meine Anforderungen sind Syntaxhervorhebu...
Die einfachste Store-Anwendung in Vue ist die glo...
Datenbank für Online-Einkaufszentren - Produktkat...
Inhaltsverzeichnis Mixins-Implementierung Zusamme...
0. Einleitung Was ist die ibdata1-Datei? ibdata1 ...
1: Tag-Selektor Der Tag-Selektor wird für alle Ta...
Inhaltsverzeichnis 1. Prüfen Sie, ob MySQL auf de...
Finden Sie das Problem Vor kurzem ist bei mir ein...