我画了几个扇形,然后把他们放进一个帧布局里,形成了一个统计饼状图,但是,当我想设置每个扇形的点击事件时出问题了,我发现返回的扇形的点击有效区域是一个矩形(因为扇形的画法是通过画这个矩形的内切椭圆而成的)
canvas.drawArc(oval, startAngle, sweepAngle, useCenter, paint))   oval就是那个矩形现在,有什么办法可以令我的点击区域局限在每个画出的扇形区域内呢?有没有人遇到过相似的问题 求指导

解决方案 »

  1.   

    嗯好提议! 
    有思路了,可以使用onTouchEvent(MotionEvent event)的event.getX();和event.getY();获得纵横坐标,计算出该点坐标和圆心的距离(即半径), 求角度时,计算点击坐标和圆心的高度差,再除以半径就可以得到该角度的正弦值,反正弦值后得到该角度,然后就可以比较角度+半径了。嗯,学习了,这种获得点击区域的方法。比较难的是,需要精确计算点击的坐标和界面中组件的坐标的比较