相关疑难解决方法(0)

为什么 SkiaSharp Touch SKTouchAction.Moved 事件不起作用?

概括

触摸事件永远不会与 ActionType 一起引发SKTouchAction.Moved,但SKTouchAction.Pressed会引发。为什么.Moved事件永远不会被引发?

细节

我正在尝试在 SkiaSharp 中创建一个滑块。当用户触摸滑块或拖动时,此控件将需要更新拇指(可移动的小圆圈)。这是托管在 Xamarin Forms 应用程序中的,我创建了一个SKCanvasView来绘制滑块并响应触摸事件。

我已经成功响应了触摸事件,所以我知道它SKCanvasView正在接收一些 UI 事件,但SKTouchAction.Moved从未引发过。

示例代码

private SKCanvasView CreateSliderControl()
{
    var control = new SKCanvasView();
    control.PaintSurface += HandlePaintHeightControl;
    control.EnableTouchEvents = true;
    control.Touch += (sender, args) =>
    {
        var pt = args.Location;

        switch (args.ActionType)
        {
            case SKTouchAction.Pressed:
                // 1. This code gets hit whenever I touch the canvas
                control.InvalidateSurface();
                break;
            case SKTouchAction.Moved:
                // 2. This code never gets …
Run Code Online (Sandbox Code Playgroud)

touch xamarin xamarin.forms skiasharp

3
推荐指数
1
解决办法
1364
查看次数

标签 统计

skiasharp ×1

touch ×1

xamarin ×1

xamarin.forms ×1