React Native realisiert den Auf- und Ab-Pull-Effekt der Überwachungsgeste

React Native realisiert den Auf- und Ab-Pull-Effekt der Überwachungsgeste

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:
  • VSCode erstellt eine React Native-Umgebung
  • Lösen Sie das Problem, dass die React-Native-Softtastatur auftaucht und das Eingabefeld blockiert
  • Detaillierte Erläuterung der React-Native-WebView-Rückgabeverarbeitung (Nicht-Callback-Methode kann gelöst werden)
  • Detaillierte Erläuterung der nativen Android-Entwicklung mit React-Native Bridge
  • Eine kurze Diskussion zum React Native Flexbox-Layout (Zusammenfassung)
  • React Native react-navigation Navigationsnutzungsdetails
  • Spezifische Verwendung von FlatList in ReactNative
  • ReactNative FlatList-Verwendung und Fallstricke Paketübersicht
  • Erstellen einer einfachen Game-Engine mit React Native

<<:  MySQL-FAQ-Serie: Wann werden temporäre Tabellen verwendet?

>>:  So konfigurieren Sie Nginx, um die Zugriffshäufigkeit derselben IP zu begrenzen

Artikel empfehlen

So fügen Sie einem Feld in MySQL eine Standardzeit hinzu

Unterschiede und Verwendungen von Datumstypen MyS...

Das Problem der Verwendung von Slots durch Vue+tsx wird nicht behoben

Inhaltsverzeichnis Vorwort Finden Sie das Problem...

Das rel-Attribut des HTML-Link-Tags

Das <link>-Tag definiert die Beziehung zwis...

JS implementiert Click-Drop-Effekt

js realisiert den Spezialeffekt des Klickens und ...

Detailliertes Tutorial zur Installation von Nginx auf CentOS8 (Bild und Text)

Nginx, ausgesprochen „Engine x“, ist ein Open Sou...

Das Bildelement img hat in IE6 zusätzlichen Leerraum

Beim Erstellen eines DIV+CSS-Layouts einer Seite ...

Die Bilder in HTML werden direkt durch base64-kodierte Strings ersetzt

Kürzlich stieß ich auf eine Webseite, die zwar Bil...

CSS-Implementierungscode für mehrstufige Menüs

Dies ist eine ziemlich coole Funktion, die Websei...

Vue implementiert den Lupeneffekt beim Tab-Umschalten

In diesem Artikelbeispiel wird der spezifische Co...

CSS-Implementierungscode für horizontale und vertikale Fortschrittsbalken

Manchmal ist es schön, ein paar nette Scrollbar-E...

Navicat für MySQL 11 Registrierungscode\Aktivierungscode-Zusammenfassung

Lesetipp: Navicat12.1 Serie Cracking und Aktivier...