老師你好,我寫了個展開圓形菜單的 動畫 但是有一點小bug 能不能麻煩幫看看
/**
* 打開圓形菜單
*/
private void startRoundAnima() {
? ?int r = 200;
? ?float angle = 360 / (res.length-1);
? ?Log.i("AAAAA",angle+"");
? ?for (int i = 1; i < res.length; i++) {
? ? ? ?Log.i("angle",angle * (i - 1)+"");
? ? ? ?ObjectAnimator animatorX =
? ? ? ? ? ? ? ?ObjectAnimator.ofFloat(imgList.get(i), "translationX", 0, (int) (-r * Math.cos(angle * (i - 1))));
? ? ? ?ObjectAnimator animatorY =
? ? ? ? ? ? ? ?ObjectAnimator.ofFloat(imgList.get(i), "translationY", 0, (int) (-r * Math.sin(angle * (i - 1))));
? ? ? ?AnimatorSet set = new AnimatorSet();
? ? ? ?set.play(animatorX).with(animatorY);
? ? ? ?set.setDuration(500).setStartDelay(i * 300);
? ? ? ?set.setInterpolator(new BounceInterpolator());
? ? ? ?set.start();
? ?}
? ?flag = false;
}
實際出來的效果 ——我想要的是 均勻的一個圓形,左下角少了一塊。角度我都等分了的。怎么會少的呢。還請老師幫忙看看吧
2015-09-05
你試試把angle通過Math.toRadians或者toDegree轉換成弧度或者角度試一試,剛開始?我也是因為這樣所以沒有弄出來。