補充決解點贊次高的那個問題。(上個打錯字了,編輯不了)
設置兩個flag,第一個是記錄菜單打開關閉的flag1,第二個是記錄菜單是否處于動畫中的flag2;
第二個記錄處于動畫中的flag2在進入for循環前改變狀態成true;
第一個flag1 狀態改變放在最后一個objectanimator的監聽事件onAnimationEnd里,第二個flag2狀態也在這里重新切換成false(因為到這里動畫已經結束了)
放出菜單的判斷是if(flag1&&!flag2)
放出收回菜單的判斷是else if(!flag&&!flag2)
這樣在動畫中就不會再次觸發動畫了。
設置兩個flag,第一個是記錄菜單打開關閉的flag1,第二個是記錄菜單是否處于動畫中的flag2;
第二個記錄處于動畫中的flag2在進入for循環前改變狀態成true;
第一個flag1 狀態改變放在最后一個objectanimator的監聽事件onAnimationEnd里,第二個flag2狀態也在這里重新切換成false(因為到這里動畫已經結束了)
放出菜單的判斷是if(flag1&&!flag2)
放出收回菜單的判斷是else if(!flag&&!flag2)
這樣在動畫中就不會再次觸發動畫了。
2016-08-31
補充決解點贊次高的那個問題。
設置兩個flag,第一個是記錄菜單打開關閉的flag1,第二個是記錄菜單是否處于動畫中的flag2;
第二個記錄處于動畫中的flag2在進入for循環前改變狀態成true;
第一個flag1 狀態改變放在最后一個objectanimator的監聽事件onAnimationEnd里,第二個flag2狀態也在這里重新切換成false(因為到這里動畫已經結束了)
放出菜單的判斷是if(flag1&&!flag2)
放出收回菜單的判斷是else if(flag&&!flag2)
這樣在動畫中就不會再次觸發動畫了。
設置兩個flag,第一個是記錄菜單打開關閉的flag1,第二個是記錄菜單是否處于動畫中的flag2;
第二個記錄處于動畫中的flag2在進入for循環前改變狀態成true;
第一個flag1 狀態改變放在最后一個objectanimator的監聽事件onAnimationEnd里,第二個flag2狀態也在這里重新切換成false(因為到這里動畫已經結束了)
放出菜單的判斷是if(flag1&&!flag2)
放出收回菜單的判斷是else if(flag&&!flag2)
這樣在動畫中就不會再次觸發動畫了。
2016-08-31
解決次高點贊的那個哥們說的問題,可以在最后一個動畫里設置監聽事件,里面設置一個flag,只有全部展開才可以收回。
2016-08-31
ofFloat的常見參數:String[] values = {"translationX","translationY","scaleX","scaleY","rotation","alpha"};
translationX: 偏移位置(單位:像素) scalexX: 縮放程度(0.5F代表縮放50%)
rotation: 旋轉角度(單位:角度) alpha: 透明度(0.5F代碼50%不透明)
translationX: 偏移位置(單位:像素) scalexX: 縮放程度(0.5F代表縮放50%)
rotation: 旋轉角度(單位:角度) alpha: 透明度(0.5F代碼50%不透明)
2016-08-12