|
@ -342,9 +342,9 @@ public class PathMenu extends RelativeLayout{
|
342
|
342
|
}
|
343
|
343
|
|
344
|
344
|
public void openMenu(int position) {
|
345
|
|
if(position != 0 && position % 2 == 0){//当position为扇形,打开时初始半径变大1.5倍;
|
346
|
|
radius *= 1.5;
|
347
|
|
}
|
|
345
|
// if(position != 0 && position % 2 == 0){//当position为扇形,打开时初始半径变大1.5倍;
|
|
346
|
// radius *= 1.5;
|
|
347
|
// }
|
348
|
348
|
|
349
|
349
|
int toX,toY;
|
350
|
350
|
for(int i=0;i<buttons.length;i++){
|
|
@ -388,9 +388,9 @@ public class PathMenu extends RelativeLayout{
|
388
|
388
|
isOpen = false;
|
389
|
389
|
isCanDrag = true;
|
390
|
390
|
|
391
|
|
if(position != 0 && position % 2 == 0){//当position为扇形,关闭时恢复初始半径;
|
392
|
|
radius /= 1.5;
|
393
|
|
}
|
|
391
|
// if(position != 0 && position % 2 == 0){//当position为扇形,关闭时恢复初始半径;
|
|
392
|
// radius /= 1.5;
|
|
393
|
// }
|
394
|
394
|
}
|
395
|
395
|
|
396
|
396
|
/************************动画效果实现start***************************/
|
|
@ -549,9 +549,13 @@ public class PathMenu extends RelativeLayout{
|
549
|
549
|
/**
|
550
|
550
|
* 偏移量计算
|
551
|
551
|
*/
|
552
|
|
private int[] computOffset(int shape,int i){
|
|
552
|
private int[] computOffset(int position,int i){
|
553
|
553
|
int toX = 0,toY =0 ;
|
554
|
|
switch (shape) {
|
|
554
|
radius = buttonRadius * 2;
|
|
555
|
if(position != 0 && position % 2 == 0){//当position为扇形,打开时初始半径变大1.5倍;
|
|
556
|
radius *= 1.5;
|
|
557
|
}
|
|
558
|
switch (position) {
|
555
|
559
|
case POSITION_CENTER:
|
556
|
560
|
setCircle(1);
|
557
|
561
|
toX =(int)(radius*Math.sin(i*angle));
|
|
@ -571,7 +575,6 @@ public class PathMenu extends RelativeLayout{
|
571
|
575
|
setCircle(0.5f);
|
572
|
576
|
toX = (int)(radius*Math.sin(i*angle + Math.PI));
|
573
|
577
|
toY = (int)(radius*Math.cos(i*angle + Math.PI));
|
574
|
|
|
575
|
578
|
break;
|
576
|
579
|
case POSITION_BOTTOM_RIGHT:
|
577
|
580
|
setCircle(0.25f);
|