我有问题。我正在尝试使用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。永远不会到达需要翻译的2行,因此ee.Touches
始终为null
...
我在做什么错?
这是我使用的唯一代码
[也许您忘记了将contentview
设置为内容。为了更好地执行,我设置了背景色。
您还需要更改TranslationX
和TranslationY
的值。这将使contentvew顺利移动。
更改:
draggableView.TranslationX = ee.Touches[0].X;
draggableView.TranslationY = ee.Touches[0].Y;
收件人:
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;
}
}
};
结果: