Xamarin.Forms.Maps 嵌套在 ScrollView 中。地图不可用,因为 ScrollView 正在拦截事件

Xamarin.Forms.Maps nested inside a ScrollView. Map not usable since ScrollView is intercepting events

Xamarin Android.

我已经搜索并尝试了其他线程的许多答案,但无法正常工作。

我一直在尝试使用 RequestDisallowInterceptTouchEvent(true);阻止我的父 ScrollView 吸收触摸事件并允许在嵌套在其中但未成功的 MapView 上平移。

这是我目前在 Android

的 Maps Customer Renderer 中所做的
private IViewParent _scrolLView;

    private IViewParent GetParentScrollView(IViewParent parent)
    {
        if (parent is ScrollViewRenderer)
            return parent;
        return GetParentScrollView(parent.Parent);
    }

    public override bool DispatchTouchEvent(MotionEvent e)
    {
        GetParentScrollView(Parent).RequestDisallowInterceptTouchEvent(true);
        return base.DispatchTouchEvent(e);
    }

但是当我尝试在地图上平移时,滚动视图仍然拦截并滚动。

RequestDisallowInterceptTouchEvent 在 child 不希望此 parent 及其祖先拦截触摸事件时调用。

试试把GetParentScrollView(Parent)改成this,我这边行得通。

 public override bool DispatchTouchEvent(MotionEvent e)
    {
        this.RequestDisallowInterceptTouchEvent(true);
        return base.DispatchTouchEvent(e);
    }