親境界内のドラッグ可能なビュー

kuhr

ドラッグ可能なマーカーを背景画像に配置し、その後、背景画像内のマーカーの座標を取得したいという課題に直面しています。

私が続いてきた、この使用してドラッグ可能マーカーを作るためにきちんとしたチュートリアルをAnimated.ImagePanResponderAnimated.ValueXY問題は、ドラッグ可能なビューをその親(背景画像)の境界内でのみ移動するように制限する方法がわからないことです。

どんな助けでも大歓迎です:)

よろしく
イェンス

ウォルタリ

これは、react-native-gesture-responderを使用してそれを行う1つの方法です。

import React, { Component } from 'react'
import {
  StyleSheet,
  Animated,
  View,
} from 'react-native'
import { createResponder } from 'react-native-gesture-responder'

const styles = StyleSheet.create({
  container: {
    height: '100%',
    width: '100%',
  },
  draggable: {
    height: 50,
    width: 50,
  },
})

export default class WorldMap extends Component {
  constructor(props) {
    super(props)

    this.state = {
      x: new Animated.Value(0),
      y: new Animated.Value(0),
    }
  }
  componentWillMount() {
    this.Responder = createResponder({
      onStartShouldSetResponder: () => true,
      onStartShouldSetResponderCapture: () => true,
      onMoveShouldSetResponder: () => true,
      onMoveShouldSetResponderCapture: () => true,
      onResponderMove: (evt, gestureState) => {
        this.pan(gestureState)
      },
      onPanResponderTerminationRequest: () => true,
    })
  }
  pan = (gestureState) => {
    const { x, y } = this.state
    const maxX = 250
    const minX = 0
    const maxY = 250
    const minY = 0

    const xDiff = gestureState.moveX - gestureState.previousMoveX
    const yDiff = gestureState.moveY - gestureState.previousMoveY
    let newX = x._value + xDiff
    let newY = y._value + yDiff

    if (newX < minX) {
      newX = minX
    } else if (newX > maxX) {
      newX = maxX
    }

    if (newY < minY) {
      newY = minY
    } else if (newY > maxY) {
      newY = maxY
    }

    x.setValue(newX)
    y.setValue(newY)
  }
  render() {
    const {
      x, y,
    } = this.state
    const imageStyle = { left: x, top: y }

    return (
      <View
        style={styles.container}
      >
        <Animated.Image
          source={require('./img.png')}
          {...this.Responder}
          resizeMode={'contain'}
          style={[styles.draggable, imageStyle]}
        />
    </View>

    )
  }
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

親境界内での子ビューの制限

分類Dev

画像プレビュー付きのドラッグ可能な分割ビュー

分類Dev

ブートストラップビュー付きのドラッグ可能なテーブル

分類Dev

jQueryUIのドラッグ可能で回転可能な親

分類Dev

Androidのフラグメントでスクロール可能なグリッドビューを作成する

分類Dev

Android ConstraintLayoutビューは他のビューの右側にありますが、親の境界内にとどまります

分類Dev

グリッドビューの境界線を設定する方法

分類Dev

ビューポート内のドラッグ可能なdiv要素を制限する

分類Dev

Javaジェネリック型のワイルドカードパラメータがその境界内にあるための正式な条件は何ですか?

分類Dev

グリッドの再利用可能なリサイクラービューがビューページャーに表示されない

分類Dev

境界線のないドラッグ可能なWPFウィンドウ

分類Dev

Androidの垂直スクロールのドラッグ可能なグリッドビューでエラーが発生する

分類Dev

別のビューを長押しすると、ドラッグ可能なUIViewを作成します

分類Dev

ビューのスムーズなドラッグ

分類Dev

c# グリッドビューのクリック可能な行

分類Dev

純粋なJavaScript:ドラッグ可能な要素の境界線を設定する

分類Dev

react-nativeの並べ替え可能なグリッドビュー

分類Dev

スーパービュー境界内のサブビューの移動を制限する

分類Dev

親ビューの外側にあるクリック可能なボタン

分類Dev

プログラムで複数のドラッグ可能なビューを作成するための最良の方法は何ですか?

分類Dev

HTMLのドラッグ可能な要素が親の背景でドラッグされるのはなぜですか?

分類Dev

親の親へのjQueryドラッグ可能制約

分類Dev

python-flask:動的ルートのプラグ可能なビュー

分類Dev

特定の制限内で親UIViewのUIContainerビューを上にドラッグする方法は?

分類Dev

フラッターグリッドビューの値が更新されない

分類Dev

jQuery UIのドラッグ可能でソート可能なバグ?

分類Dev

Javascriptは親divの外側のドラッグ可能なdivを防ぎます

分類Dev

jQueryの半透明のドラッグアンドドロップビジュアルに基づいてドラッグ可能なdivを作成する

分類Dev

カメラビューの境界内でWASDと矢印キーを使用して複数のプレーヤーを移動する方法

Related 関連記事

  1. 1

    親境界内での子ビューの制限

  2. 2

    画像プレビュー付きのドラッグ可能な分割ビュー

  3. 3

    ブートストラップビュー付きのドラッグ可能なテーブル

  4. 4

    jQueryUIのドラッグ可能で回転可能な親

  5. 5

    Androidのフラグメントでスクロール可能なグリッドビューを作成する

  6. 6

    Android ConstraintLayoutビューは他のビューの右側にありますが、親の境界内にとどまります

  7. 7

    グリッドビューの境界線を設定する方法

  8. 8

    ビューポート内のドラッグ可能なdiv要素を制限する

  9. 9

    Javaジェネリック型のワイルドカードパラメータがその境界内にあるための正式な条件は何ですか?

  10. 10

    グリッドの再利用可能なリサイクラービューがビューページャーに表示されない

  11. 11

    境界線のないドラッグ可能なWPFウィンドウ

  12. 12

    Androidの垂直スクロールのドラッグ可能なグリッドビューでエラーが発生する

  13. 13

    別のビューを長押しすると、ドラッグ可能なUIViewを作成します

  14. 14

    ビューのスムーズなドラッグ

  15. 15

    c# グリッドビューのクリック可能な行

  16. 16

    純粋なJavaScript:ドラッグ可能な要素の境界線を設定する

  17. 17

    react-nativeの並べ替え可能なグリッドビュー

  18. 18

    スーパービュー境界内のサブビューの移動を制限する

  19. 19

    親ビューの外側にあるクリック可能なボタン

  20. 20

    プログラムで複数のドラッグ可能なビューを作成するための最良の方法は何ですか?

  21. 21

    HTMLのドラッグ可能な要素が親の背景でドラッグされるのはなぜですか?

  22. 22

    親の親へのjQueryドラッグ可能制約

  23. 23

    python-flask:動的ルートのプラグ可能なビュー

  24. 24

    特定の制限内で親UIViewのUIContainerビューを上にドラッグする方法は?

  25. 25

    フラッターグリッドビューの値が更新されない

  26. 26

    jQuery UIのドラッグ可能でソート可能なバグ?

  27. 27

    Javascriptは親divの外側のドラッグ可能なdivを防ぎます

  28. 28

    jQueryの半透明のドラッグアンドドロップビジュアルに基づいてドラッグ可能なdivを作成する

  29. 29

    カメラビューの境界内でWASDと矢印キーを使用して複数のプレーヤーを移動する方法

ホットタグ

アーカイブ