React Nativeはモニタリングジェスチャーの上下プル効果を実現します

React Nativeはモニタリングジェスチャーの上下プル効果を実現します

React Native は、プルアップとプルダウンの監視ジェスチャを実装します。詳細なコアコードは次のとおりです。

コード:

'react-native' から {PanResponder} をインポートします。


var Dimensions = require('Dimensions');
const deviceHeight = Dimensions.get("window").height;
const deviceWidth = Dimensions.get("window").width;

クラスTaskfinishedPageはComponentを拡張します{
  コンストラクタ(props) {
    スーパー(小道具);
    コンソールでYellowBoxを無効にするには、trueを選択します。
    この状態 = {
      シルダーマージン: デバイス高さ-230、
    };
      this.lastY1 = this.state.silderMargin;
  }
 
  コンポーネントマウント() {

    this._panResponder = PanResponder.create({
      onStartShouldSetPanResponder:(evt, ジェスチャー状態) => {
          true を返します。
      },
      onMoveShouldSetPanResponder: (evt, ジェスチャー状態) => {
          true を返します。
      },
      onPanResponderGrant: (イベント、ジェスチャー状態) => {
          this._highlight();
      },
      onPanResponderMove: (イベント、ジェスチャー状態) => {
          コンソールにログを記録します(`gestureState.dx: ${gestureState.dx} ジェスチャーステート.dy: ${gestureState.dy}`);
          (50 < this.lastY1 + ジェスチャーステート.dy && this.lastY1 + ジェスチャーステート.dy < デバイスの高さ - 230){
             this.setState({
              // marginLeft1: this.lastX1 + ジェスチャーステート.dx,
              シルダーマージン: this.lastY1 + ジェスチャーステート.dy、
          });
          }
         
      },
      onPanResponderRelease: (evt, ジェスチャー状態) => {
          this._unhighlight();
        
          this.lastY1 = this.state.silderMargin;
      },
      onPanResponderTerminate: (evt, ジェスチャー状態) => {
      },
  });
  }


//これら 2 つのメソッドは、手が触れたときと離れたときにトリガーされます。
  _ハイライト解除(){
    this.setState({
        スライダー背景色: '透明'、
    });
}

_ハイライト(){
    this.setState({
        スライダー背景色: '透明'、
    });
}


 与える() {
    戻る (
      <コンテナ}>

        <ヘッダー>
          <左>
            <ボタンを透明にする onPress={() => {    
                ナビゲーションユーティリティをリセットして戻る(this.props.navigation);
            }}>
              <アイコン名='arrow-back' スタイル={{color:'#000'}}/>
            </ボタン>
          </左>
          <本文>
          <Text style={{color:'#000'}}>完了したミッションの詳細</Text>
          </本文>
          <右 />
        </ヘッダー>
        <View style={{ flex: 1 }}>
          <表示スタイル={
                [スタイル.パネルビュー、
                {
                    背景色: this.state.sliderBackgroundcolor、
                    marginTop: this.state.silderMargin、
                    zインデックス:100
                
                }
                ]}
                  {...this._panResponder.panHandlers}
          >
       
            
          </表示>
          
 
          </表示>
      </コンテナ>
    );
    }


定数スタイル = {
  パネルビュー: {
    幅: デバイス幅-20、
    高さ: 410,
    マージン左:10,
    マージン右:10,
    境界半径:6,  
 }
}

デフォルトの TaskfinishedPage をエクスポートします。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • VSCodeはReact Native環境を構築します
  • 反応ネイティブソフトキーボードがポップアップして入力ボックスをブロックする問題を解決する
  • react-native WebViewの戻り処理の詳細説明(コールバック以外の方法も解決可能)
  • React-native bridge Androidネイティブ開発の詳細説明
  • React Native Flexboxレイアウトについての簡単な説明(要約)
  • React Native react-navigation ナビゲーションの使用法の詳細
  • ReactNativeにおけるFlatListの具体的な使い方
  • ReactNative FlatList の使い方と落とし穴パッケージの概要
  • React Nativeでシンプルなゲームエンジンを作る

<<:  MySQL FAQ シリーズ: 一時テーブルを使用する場合

>>:  同じ IP のアクセス頻度を制限するように nginx を設定する方法

推薦する

MySQL 5.7.17 圧縮バージョンのインストールノート

この記事では、参考までにMySQL 5.7.17圧縮版のインストール手順を紹介します。具体的な内容は...

Windows Server 2008 R2 サーバーが理由もなく自動的に再起動する問題の解決策

Windows Server 2008 サーバーが自動的に再起動します。サーバーにログインした後、ど...

MySQL実行計画の詳細な説明

EXPLAIN ステートメントは、MySQL がステートメントを実行する方法に関する情報を提供します...

TomcatはLog4jを使用してcatalina.outログを出力します。

Tomcat のデフォルトのログは java.util.logging を使用しますが、これにはい...

MySQL 主キー ID を生成する方法 (自己増分、一意、不規則)

目次1. uuid関数を使用して、一意かつ不規則な主キーIDを生成します。 2. idの自動成長1....

CSS 属性を使用してマウス イベントをブロックする方法 (マウス クリックは上位の要素を貫通する可能性があります)

由来: 数日前、テスターから写真を見るという要件が送られてきました。 この要件を見たとき、私は少し混...

HTML の表の行と列を結合する問題の解決策の詳細な説明

私たちが構築しようとしていたウェブサイトには、長い文章だけでなく、多数の表も含まれており、表のレイア...

ネイティブ js はカスタム スクロール バー コンポーネントを実装します

この記事の例では、カスタムスクロールバーコンポーネントを実装するためのjsの具体的なコードを参考まで...

MySQLスローログに関する知識のまとめ

目次1. スローログの紹介2. スローログの練習1. スローログの紹介スロー ログの正式名称はスロー...

モバイルレイアウトにvw+remを使用する方法

まだ rem フレキシブルレイアウトを使用していますか?圧縮された js コードの大きなセクションを...

アイデアはDockerプラグインを使用してワンクリックの自動デプロイを実現します

目次環境: 1. Dockerはリモート接続アクセスを可能にするidea dockerプラグインをイ...

Centos7 に mysql 8.0.13 (rpm) をインストールする詳細なチュートリアル

yum か rpm か? yum によるインストール方法は非常に便利ですが、公式サイトから MySQ...

MySQLのバックアップとリカバリの簡単な分析

目次1. はじめに2. バックアップとリカバリの簡単な定義3. 復旧計画で考慮すべきいくつかの要素4...

Docker で nginx のログレベルを調整する方法

目次はじめにNginx Dockerファイル新しい会議もっと参考文献はじめに最近、アプリケーションの...

XHTMLタグには終了タグがある

<br />オリジナルリンク: http://www.dudo.org/article....