Search

Android - Tweener 的 Accessor

2015-05-23 9:17 PM

Accessor 是針對 Java 特性加入的一個 Interface

Tweener 需要依靠實作此 Interface 的 Class 來渲染動畫效果

程式碼範例
  1. public class ButtonAccessor implements TweenAccessor<Button> {
  2.  
  3. // 自訂義 Tween 類型, 用以判別在實作的 Method 內需處理的對象
  4. public static final int POSITION = 1;
  5. public static final int ALPHA = 2;
  6.  
  7. @Override
  8. public int getValues(Button target, int tweenType, float[] returnValues) {
  9. switch (tweenType) {
  10. case POSITION:
  11. // 由物件內取回實際值
  12. returnValues[0] = target.getX();
  13. returnValues[1] = target.getY();
  14. // 修改 2 個屬性, 因此回傳 2
  15. return 2;
  16. case ALPHA:
  17. returnValues[0] = target.getAlpha();
  18. // 修改 1 個屬性, 回傳 1
  19. return 1;
  20. default:
  21. return -1;
  22. }
  23. }
  24.  
  25. @Override
  26. public void setValues(Button target, int tweenType, float[] newValues) {
  27. switch (tweenType) {
  28. case POSITION:
  29. // 設定新屬性
  30. target.setX(newValues[0]);
  31. target.setY(newValues[1]);
  32. break;
  33. case ALPHA:
  34. // 設定新屬性(需對應 getValues 的設定)
  35. target.setAlpha(newValues[0]);
  36. break;
  37. default:
  38. break;
  39. }
  40. }
各項資料連結
Universal Tween Engine(Google Code)
Universal Tween Engine(GitHub)

No comments:

Post a Comment