我有个问题。我试图使用MR.Gestures移动我的ContentView,所以我尝试了如下:
var draggableView = new MR.Gestures.ContentView { VerticalOptions =
LayoutOptions.FillAndExpand };
draggableView.Panning += (dd, ee) =>
{
if(ee.Touches != null)
{
if (ee.Touches.Length == 1)
{
draggableView.TranslationX = ee.Touches[0].X;
draggableView.TranslationY = ee.Touches[0].Y;
}
}
};但这根本不能移动ContentView。需要翻译的两行永远不会到达,所以ee.Touches总是null.
我做错了什么?
发布于 2019-12-16 09:47:44
,这是我使用它的唯一代码
也许您忘记将contentview设置为Content。为了更好的表演,我设置了背景色。
您还需要更改TranslationX和TranslationY的值。这将使内容顺利进行。
变更:
draggableView.TranslationX = ee.Touches[0].X;
draggableView.TranslationY = ee.Touches[0].Y;To:
draggableView.TranslationX += ee.DeltaDistance.X;
draggableView.TranslationY += ee.DeltaDistance.Y;你可以试试下面的代码。
var draggableView = new MR.Gestures.ContentView
{
VerticalOptions = LayoutOptions.FillAndExpand,
BackgroundColor = Color.Accent
};
Content = draggableView;
draggableView.Panning += (dd, ee) =>
{
if (ee.Touches != null)
{
if (ee.Touches.Length == 1)
{
//draggableView.TranslationX = ee.Touches[0].X;
//draggableView.TranslationY = ee.Touches[0].Y;
draggableView.TranslationX += ee.DeltaDistance.X;
draggableView.TranslationY += ee.DeltaDistance.Y;
}
}
};结果:

https://stackoverflow.com/questions/59325710
复制相似问题