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 を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: MySQL FAQ シリーズ: 一時テーブルを使用する場合
>>: 同じ IP のアクセス頻度を制限するように nginx を設定する方法
この記事の例では、フルスクリーンスクロールを実現するためのjQueryの具体的なコードを参考までに共...
Raspberry Pi 3B に 64 ビット アプリケーション (64 ビット JDK など) ...
目次1. ソフトウェアとシステムイメージ2. 仮想マシンを作成する3. CentOS8をインストール...
1. フォーム1. フォームの役割HTML フォームは、さまざまな種類のユーザー入力を受け取り、ユー...
序文最近、いくつかのフロントエンド プロジェクトに取り組んでおり、ページにいくつかのテーブルを表示す...
目次1. インストール1. はじめに3. インターフェースルートアドレス4. 使用例4.1 ダウンロ...
序文CentOS に MySQL をインストールして設定する手順は次のとおりです。文章yumソースか...
docker コマンドを初めて使用する場合、権限の問題を確認するメッセージが表示されます。 unix...
オンラインで検索して重複データを削除し、ID が最小のデータだけを残します。方法は次のとおりです。 ...
フロントエンドcss3 フィルターは、Web ページのグレー効果を実現できるだけでなく、ナイト モー...
レンダリング原理フォーム要素には、正規表現(携帯電話番号、メールアドレス、IDカードなど)をカスタマ...
昨夜、ブラウザのレンダリングプロセスに関するエッセイを書きましたが、小さなコードで説明しただけでした...
1. 需要正しい Cookie 配信と SSO テストを確実に実行できるように、ローカル テスト ド...
概要MySQL データベースで主キーのないテーブルを表示するための SQL ステートメントをいくつか...
目次序文1. 何ですか2. Node.jsでEventEmitterを使用する方法3. 実施プロセス...