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



Xamarin Android.

我已经从其他线程中搜索并尝试了许多答案,但不能让它工作。

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

这是我所做的到目前为止在我的地图客户渲染器Android

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当子进程不希望父进程和其父进程拦截触摸事件时调用。

尝试将GetParentScrollView(Parent)更改为this,它在我这边工作。

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

可以添加InputTransparent="True"在xaml的scrollview属性中。它是有效的

相关内容

最新更新