本文使用画笔Paint来自定义一个半圆形的菜单 如下图:
demo下载地址:http://download.csdn.net/detail/suyiyang888/8528707
二、在onLayout(boolean changed, int left, int top, int right,int bottom)方法中可以获取到此view在屏幕上的上下左右坐标。通过x = right - left,y = bottom - top可计算出当前view的尺寸,为接下来画圆做准备。
三、初始化
1、由于屏幕尺寸的不同,所以导致当前view的尺寸是不定的,只能通过计算来获取当前圆形菜单的半径(此计算方法是我经过多尺寸手机的实际测试计算出来的),这里得到的不是整个圆,而是大半圆,所以圆点坐标往X轴正方向移动了大概1/3
mPaint.setColor(666885);
mPaint.setStrokeWidth(6);
setBackgroundResource(R.drawable.bg);
dvlue = 0;// 做适配屏幕处理
if (x >= y) {
minSize = y;
dvlue = x - y;
} else {
minSize = x;
dvlue = y - x;
}
if (dvlue > 180) {
mPointX = x / 3 * 2 + minSize / 10;
mPointY = y / 2 + minSize / 20;
mRadius = minSize / 2 &#