重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
第1,点到圆心距离小于半径;第2,点到圆心的直线,倾斜角度在扇形角度以内;满足以上条件就可以确定点在扇形里面了.对照扇形,做一个Region对象出来,然后调用contains方法就可以了。
创新互联公司从2013年创立,先为准格尔等服务建站,准格尔等地企业,进行企业商务咨询服务。为准格尔企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
这个是有开源的第三方控件的,不过你可以在慕课网的android教程部分找找,里面有一个视频就是告诉你写扇形菜单的。
背景:产品需要对游戏的按键做成圆形,且可以下发,点击效果相当于操作按键
初期参照过市面上的开源,没有完全匹配要求的,最终还是自己动手做了一个,整理下了总体实现的思路和关键点
先上视频
1.绘制扇形区域和中心圆形区域
2.手指触摸位置判断(中心,扇形区域),选中区域重新绘制背景色
3.绘制中心圆弧和扇形之间白色线条
4.扇形区域文字绘制
5.为了特效,设计给的一些背景图的绘制
1.Android中扇形绘制起始点默认是水平方向顺时针方向,开始绘制
2.为了方便计算,canvas最好先移动中心位置( canvas.translate(mWRadius, mWRadius)),原点坐标才会为(0,0)
1.扇形绘制(无中心部分): 1- 扇形 2-中心圆形 使用 Path.Op.DIFFERENCE 属性就是代表
绘制图 = 图1--图1和图2的交集
* 获取绘制弧度所需要的path
2.扇形区域的保存,由于扇形的path已经保存在 mRegionList,后面直接根据手指的(x,y)判断所在扇形区域根据扇形的path设置
3.扇形中的文字绘制 (为了文字居中,首先获取角度的一半,获取中心圆形到圆弧2点的中间坐标,然后在中间坐标绘制文字)
4.圆形中心和弧形间线条的绘制(思路:根据角度找到内部圆形的坐标(x1,y2),在找到圆弧上的点(x2,y2),path连起来,然后绘制线条)
5.中间文字的绘制和中心圆形位置选中和未选中用的是图片绘制,这个就没啥可说的了
6.其实该控件还支持合并,拆解,缩放,拖拽 ,但是为了简洁点,都已经被我干掉了
按一下闪亮的开关,然后开机了。
找到下载目录,双指按压触控板,等于鼠标右键选择下载目录。
然后菜单上,选择fan,就是堆栈,如果系统是Mojave,那么这个功能取消了的,可以设置了。然点击下载目录,即可看到扇形效果,