首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在android中使用OnTouch添加SkiaSharp事件

如何在android中使用OnTouch添加SkiaSharp事件
EN

Stack Overflow用户
提问于 2019-04-29 21:19:10
回答 1查看 889关注 0票数 0

我有个问题。我正在使用SkiaSharp制作一个TriangleGrid。现在我正在绘制网格,但是现在我想触摸网格中的一个三角形来给它着色。要做到这一点,我需要添加一个TouchEvent到SKCanvasView,但我不知道如何做到这一点。

在互联网上,我可以找到下一个例子:

但是我使用的是Xamarin Android,而这些示例在我的代码中不起作用。我还试图使用:

代码语言:javascript
运行
复制
skiaView = FindViewById<SkiaSharp.Views.Android.SKCanvasView>(Resource.Id.skiaView);
skiaView.SetOnTouchListener += OnTouch;

但这给了我一个错误:“不能分配给'SetOnTouchListener‘,因为它是一个’方法组‘”

有人能帮我在我的TouchListener画布上找到一个SkiaSharp吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-30 01:34:45

如果使用错误的方法添加事件,可以设置如下OnTouch事件:

代码语言:javascript
运行
复制
skiaView= FindViewById<SKCanvasView>(Resource.Id.skiaView);
skiaView.Touch += onTouch;

private void onTouch(object sender, View.TouchEventArgs e)
  {
     Toast.MakeText(this, "touch", ToastLength.Short).Show();
  }

或:

代码语言:javascript
运行
复制
public class MainActivity : AppCompatActivity,View.IOnTouchListener
  {
    private SKCanvasView skiaView;
    protected override void OnCreate(Bundle savedInstanceState)
      {
        base.OnCreate(savedInstanceState);
        SetContentView(Resource.Layout.Main);
        skiaView= FindViewById<SKCanvasView>(Resource.Id.skiaView);
        skiaView.SetOnTouchListener(this);  
        ...
      }
    public bool OnTouch(View v, MotionEvent e)
      {
        Toast.MakeText(this,"touch",ToastLength.Short).Show();
        return true;
      }
  }
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55910942

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档