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

Eine kurze Diskussion zur Auftragsrekonstruktion: MySQL-Sharding

Inhaltsverzeichnis 1. Ziele 2. Umweltvorbereitung...

Die Bedeutung des Statuscodes im HTTP-Protokoll

Ein Statuscode, der eine vorläufige Antwort anzei...

Detaillierte Erklärung des Prinzips und der Funktion des JavaScript-Closures

Inhaltsverzeichnis Einführung Verwendung von Vers...

Upgrade des Windows Server 2008R2-Dateiservers auf Windows Server 2016

Die Benutzerorganisation verfügt über zwei Window...

Detaillierte Erklärung des MySQL-Datenbankindex

Inhaltsverzeichnis 1. Einführung in den MySQL-Ind...

Wie verfolgt Vue Datenänderungen?

Inhaltsverzeichnis Hintergrund Beispiel Missverst...

Teilen Sie einige ungewöhnliche, aber nützliche JS-Techniken

Vorwort Programmiersprachen enthalten normalerwei...

Einige Frontend-Grundlagen (HTML, CSS) aus der Praxis

1. Die Div-CSS-Maushandform ist Cursor:Zeiger; 2. ...

CSS3-Mauszeiger-Übergangszoomeffekt

Das Folgende ist ein Bild-Zoom-Effekt, der in rei...

Docker erstellt Schritte zur Implementierung von Kubectl-Images

Wenn der Programmdienst mit k8s bereitgestellt wi...