如何在arc android中找到触摸点角度

时间:2014-11-04 12:10:03

标签: android math android-canvas

我应该使用canvas android创建下面的图像,这里我想找出用户触点是否在弧内(即wx1,wx2 .. wx7)。我不确定找到用户触摸的角度。请给我一些建议。

这是绘制弧的代码,扫描角度根据条件而变化

for (int i = 0; i < 360; i = (i + 20)) {

        if (i < 200 || i >= 340) {

            canvas.drawArc(rect, i, (float) 20.2, false, darkGrey);

        } else {

            canvas.drawArc(rect, i, (float) 19, false, lightGrey);

        }
    }

这是图片

enter image description here

1 个答案:

答案 0 :(得分:0)

首先,您必须创建矩形,并且必须在onTouch方法中以某种方式显示。因此,您将手动创建每个相关的drawable的Rectangle维度。到视图中的每个ui元素。附上

  

onTouchListener

到你的观点和

  

onTouch

方法将是:

    @Override
    public boolean onTouch(View v, MotionEvent event) {
      Log.d("Bounds","x : " + event.getX() + " y : "  + event.getY());

      if(rect1.contains((int)event.getX(), (int)event.getY())){
        ....
      }else if(rect2.contains((int)event.getX(), (int)event.getY())){

       ....
      }

      return false;
}

查看以下参考资料: