Blame view

src/com/fourmob/datetimepicker/Utils.java 2.54 KB
3c2353cd   杜方   1、畅游通核销app源码提交;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
  package com.fourmob.datetimepicker;
  
  import java.util.Calendar;
  
  import android.animation.Keyframe;
  import android.animation.ObjectAnimator;
  import android.animation.PropertyValuesHolder;
  import android.annotation.SuppressLint;
  import android.os.Build;
  import android.view.View;
  import android.view.accessibility.AccessibilityManager;
  
  
  public class Utils {
  
      public static final int PULSE_ANIMATOR_DURATION = 544;
  
  	public static int getDaysInMonth(int month, int year) {
          switch (month) {
              case Calendar.JANUARY:
              case Calendar.MARCH:
              case Calendar.MAY:
              case Calendar.JULY:
              case Calendar.AUGUST:
              case Calendar.OCTOBER:
              case Calendar.DECEMBER:
                  return 31;
              case Calendar.APRIL:
              case Calendar.JUNE:
              case Calendar.SEPTEMBER:
              case Calendar.NOVEMBER:
                  return 30;
              case Calendar.FEBRUARY:
                  return (year % 4 == 0) ? 29 : 28;
              default:
                  throw new IllegalArgumentException("Invalid Month");
          }
  	}
  
  	public static ObjectAnimator getPulseAnimator(View labelToAnimate, float decreaseRatio, float increaseRatio) {
          Keyframe k0 = Keyframe.ofFloat(0f, 1f);
          Keyframe k1 = Keyframe.ofFloat(0.275f, decreaseRatio);
          Keyframe k2 = Keyframe.ofFloat(0.69f, increaseRatio);
          Keyframe k3 = Keyframe.ofFloat(1f, 1f);
  
          PropertyValuesHolder scaleX = PropertyValuesHolder.ofKeyframe("scaleX", k0, k1, k2, k3);
          PropertyValuesHolder scaleY = PropertyValuesHolder.ofKeyframe("scaleY", k0, k1, k2, k3);
          ObjectAnimator pulseAnimator = ObjectAnimator.ofPropertyValuesHolder(labelToAnimate, scaleX, scaleY);
          pulseAnimator.setDuration(PULSE_ANIMATOR_DURATION);
  
          return pulseAnimator;
      }
  
  	public static boolean isJellybeanOrLater() {
  		return Build.VERSION.SDK_INT >= 16;
  	}
  
      /**
       * Try to speak the specified text, for accessibility. Only available on JB or later.
       * @param text Text to announce.
       */
      @SuppressLint("NewApi")
      public static void tryAccessibilityAnnounce(View view, CharSequence text) {
          if (isJellybeanOrLater() && view != null && text != null) {
              view.announceForAccessibility(text);
          }
      }
  
      public static boolean isTouchExplorationEnabled(AccessibilityManager accessibilityManager) {
          if (Build.VERSION.SDK_INT >= 14) {
              return accessibilityManager.isTouchExplorationEnabled();
          } else {
              return false;
          }
      }
  }