0

まず、このスレッドに注目していただきありがとうございます。

ここに私の問題があります: ScrollView レイアウト内に Google マップがあります。iOS ではすべて正常に動作し、ScrollView はスクロールし、マップは完全に使用可能です。

ただし、Android では、マップからタッチ イベントが発生すると、スクロール ビューのジェスチャ イベントが最初にトリガーされ、マップ 1 が閉じられます。したがって、スクロール ビュー内でマップを使用することはできません。

この問題を解決するために、マップのイベントを処理できるように、スクロールビューのイベントを単に無効にすることを考えました。何度も検索した結果、この質問はうまくいく可能性がありますが、まったく効果がありません。

私のコードがあります:

@ViewChild("mainScrollView") mainScrollView : ElementRef;


ngAfterViewInit() {
    this.disableScrollView()
}

private disableScrollView(){

    const scrollView: ScrollView = this.mainScrollView.nativeElement;

    console.log("scroll view :")
    console.dir(scrollView)

    if (isAndroid) {
        console.log("is Android")
        scrollView.android.requestDisallowInterceptTouchEvent(true);
    }
}

よりグローバルに言えば、この問題は、ScrollView 内にジェスチャがあるすべてのレイアウトに影響することがわかっています。したがって、この問題を解決する回避策があれば素晴らしいことです。

PS : 私のプロジェクトは、Angular で Nativescript 3.3.0 に取り組んでいます。

4

0 に答える 0