我画了几个扇形,然后把他们放进一个帧布局里,形成了一个统计饼状图,但是,当我想设置每个扇形的点击事件时出问题了,我发现返回的扇形的点击有效区域是一个矩形(因为扇形的画法是通过画这个矩形的内切椭圆而成的)
canvas.drawArc(oval, startAngle, sweepAngle, useCenter, paint)) oval就是那个矩形现在,有什么办法可以令我的点击区域局限在每个画出的扇形区域内呢?有没有人遇到过相似的问题 求指导
canvas.drawArc(oval, startAngle, sweepAngle, useCenter, paint)) oval就是那个矩形现在,有什么办法可以令我的点击区域局限在每个画出的扇形区域内呢?有没有人遇到过相似的问题 求指导
解决方案 »
- android打开方式后,怎么自动运行
- 我用PhoneGap做的项目安装不成功。在虚拟机上能够运行
- android 树状listview
- Path应用 上面图片的区域,随手指下拉展示全图,怎么实现呢?
- TabHost中的子Activity跳转到其它Activity的生命周期反常(可能和SurfaceView有关)
- 初来android平台,请指教
- 摩讯的社区SDK开放了用户登录的接口吗?
- Android: 程序读取文件"/dev/mtd/mtd0"失败???
- Android 怎样直接根据值, 设置spinner默认选中:setSpinnerItemSelectedByValue
- 我这个是不是内存泄漏求指教
- 麦克风能共享吗?
- 急,xt910无法进行真机调试
有思路了,可以使用onTouchEvent(MotionEvent event)的event.getX();和event.getY();获得纵横坐标,计算出该点坐标和圆心的距离(即半径), 求角度时,计算点击坐标和圆心的高度差,再除以半径就可以得到该角度的正弦值,反正弦值后得到该角度,然后就可以比较角度+半径了。嗯,学习了,这种获得点击区域的方法。比较难的是,需要精确计算点击的坐标和界面中组件的坐标的比较