经过充分的研究,我能够使用Xamarin表格实现它。
Android有点棘手,因为当用户滑动到某个区域时,它没有在 OnPanUpdated 事件中触发“GestureStatus.Completed”,但是android触发了Tap手势此实例中的事件而不是Pan手势事件。因此需要通过收集卡的坐标直到它被刷到的位置来单独处理Android代码。
另外要注意Android,我在现有堆栈的顶部卡上使用了额外的额外布局,不透明度为0.0,这样我们可以在用户进行平移或滑动时获得平滑过渡。实际上,用户使用visible == true滑动额外的布局但是不透明度为0.0,基于这种额外的透明布局移动,我们将在Tap或Pan手势方法中接收事件,并且我们可以在透明下的现有堆栈中移动实际顶部卡片布局。
在 iPhone 和 Windows Phone 中,它会完美触发 GestureStatus.Running 和 GestureStatus.Completed ,因此不需要创建一个黑客额外的层。代码段粘贴在下面。
Android示例代码,可实现平移或平滑滑动: “
private AbsoluteLayout createGestureSupportlayout()
{
AbsoluteLayout gestureSupportlayout = new AbsoluteLayout();
gestureSupportlayout.WidthRequest = frameWidth;
gestureSupportlayout.HeightRequest = frameHeight;
gestureSupportlayout.VerticalOptions = LayoutOptions.Center;
gestureSupportlayout.HorizontalOptions = LayoutOptions.Center;
gestureSupportlayout.Opacity = 0.0;
//In andriod, make Gesture support layout visible if invoices are present
gestureSupportlayout.SetBinding(IsVisibleProperty, "GestureSupportLayoutVisible");
return gestureSupportlayout;
}
答案 0 :(得分:0)
您可以使用此插件:SwipeCardView是一个轻量级的MVVM友好用户控件,可将Tinder风格的刷卡视图带入Xamarin.Forms应用程序。
在你看来xaml:
_blank
有关此库的设计,实施和使用的详细说明,请查看我的博文:Create Tinder-like UI in Xamarin Forms using SwipeCardView.
答案 1 :(得分:0)