Skip to content

Commit 3891b36

Browse files
author
ivan.navas
committed
Support to Android 2.2
1 parent cc76bb7 commit 3891b36

18 files changed

+82
-156
lines changed

MaterialDesign/.classpath

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,6 @@
55
<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
66
<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
77
<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/>
8+
<classpathentry kind="lib" path="libs/nineoldandroids-2.4.0.jar"/>
89
<classpathentry kind="output" path="bin/classes"/>
910
</classpath>

MaterialDesign/AndroidManifest.xml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,7 @@
99

1010
<application
1111
android:allowBackup="true"
12-
android:icon="@drawable/ic_launcher"
13-
android:label="@string/app_name"
14-
android:theme="@style/AppTheme" >
12+
android:label="@string/app_name" >
1513

1614
</application>
1715

108 KB
Binary file not shown.

MaterialDesign/res/values-v11/styles.xml

Lines changed: 0 additions & 11 deletions
This file was deleted.

MaterialDesign/res/values-v14/styles.xml

Lines changed: 0 additions & 12 deletions
This file was deleted.

MaterialDesign/res/values/styles.xml

Lines changed: 0 additions & 9 deletions
This file was deleted.

MaterialDesign/src/com/gc/materialdesign/utils/Utils.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package com.gc.materialdesign.utils;
22

33
import android.content.res.Resources;
4-
import android.util.Log;
54
import android.util.TypedValue;
65
import android.view.View;
76

MaterialDesign/src/com/gc/materialdesign/views/ButtonFloat.java

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
import com.gc.materialdesign.R;
44
import com.gc.materialdesign.utils.Utils;
5+
import com.nineoldandroids.animation.ObjectAnimator;
6+
import com.nineoldandroids.view.ViewHelper;
57

68
import android.annotation.SuppressLint;
79
import android.content.Context;
@@ -20,7 +22,7 @@
2022
import android.widget.RelativeLayout;
2123
import android.widget.TextView;
2224

23-
@SuppressLint("NewApi")
25+
2426
public class ButtonFloat extends Button{
2527

2628
int sizeIcon = 24;
@@ -36,8 +38,13 @@ public ButtonFloat(Context context, AttributeSet attrs) {
3638
sizeRadius = 28;
3739
setDefaultProperties();
3840
icon = new ImageView(context);
39-
if(drawableIcon != null)
40-
icon.setBackground(drawableIcon);
41+
if(drawableIcon != null) {
42+
try {
43+
icon.setBackground(drawableIcon);
44+
} catch (NoSuchMethodError e) {
45+
icon.setBackgroundDrawable(drawableIcon);
46+
}
47+
}
4148
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(Utils.dpToPx(sizeIcon, getResources()),Utils.dpToPx(sizeIcon, getResources()));
4249
params.addRule(RelativeLayout.CENTER_IN_PARENT, RelativeLayout.TRUE);
4350
icon.setLayoutParams(params);
@@ -78,9 +85,12 @@ protected void setAttributes(AttributeSet attrs){
7885

7986
@Override
8087
public void run() {
81-
float originalY = getY()-Utils.dpToPx(24, getResources());
82-
setY(getY()+getHeight()*3);
83-
animate().y(originalY).setInterpolator(new BounceInterpolator()).setDuration(1500).start();
88+
float originalY = ViewHelper.getY(ButtonFloat.this)-Utils.dpToPx(24, getResources());
89+
ViewHelper.setY(ButtonFloat.this,ViewHelper.getY(ButtonFloat.this)+getHeight()*3);
90+
ObjectAnimator animator = ObjectAnimator.ofFloat(ButtonFloat.this, "y", originalY);
91+
animator.setInterpolator(new BounceInterpolator());
92+
animator.setDuration(1500);
93+
animator.start();
8494
}
8595
});
8696
}
@@ -117,7 +127,11 @@ public Drawable getDrawableIcon() {
117127

118128
public void setDrawableIcon(Drawable drawableIcon) {
119129
this.drawableIcon = drawableIcon;
120-
icon.setBackground(drawableIcon);
130+
try {
131+
icon.setBackground(drawableIcon);
132+
} catch (NoSuchMethodError e) {
133+
icon.setBackgroundDrawable(drawableIcon);
134+
}
121135
}
122136

123137
public Bitmap cropCircle(Bitmap bitmap) {

MaterialDesign/src/com/gc/materialdesign/views/CheckBox.java

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,17 @@
11
package com.gc.materialdesign.views;
22

3-
import java.io.IOException;
4-
import java.io.InputStream;
5-
63
import com.gc.materialdesign.R;
74
import com.gc.materialdesign.utils.Utils;
85

96
import android.content.Context;
10-
import android.content.res.AssetManager;
117
import android.graphics.Bitmap;
128
import android.graphics.BitmapFactory;
139
import android.graphics.Canvas;
1410
import android.graphics.Color;
1511
import android.graphics.Paint;
1612
import android.graphics.Rect;
17-
import android.graphics.RectF;
1813
import android.graphics.drawable.GradientDrawable;
1914
import android.graphics.drawable.LayerDrawable;
20-
import android.text.AndroidCharacter;
2115
import android.util.AttributeSet;
2216
import android.view.MotionEvent;
2317
import android.view.View;
@@ -193,8 +187,6 @@ protected void onDraw(Canvas canvas) {
193187
if(step == -1)
194188
changeBackground();
195189
}
196-
int width = sprite.getWidth();
197-
int height = sprite.getHeight();
198190
Rect src = new Rect(40*step, 0, (40*step)+40, 40);
199191
Rect dst = new Rect(0,0,this.getWidth()-2, this.getHeight());
200192
canvas.drawBitmap(sprite, src, dst, null);

MaterialDesign/src/com/gc/materialdesign/views/LayoutRipple.java

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,14 @@
11
package com.gc.materialdesign.views;
22

3-
import com.gc.materialdesign.R;
4-
import com.gc.materialdesign.utils.Utils;
5-
63
import android.content.Context;
74
import android.graphics.Bitmap;
85
import android.graphics.Bitmap.Config;
96
import android.graphics.Canvas;
107
import android.graphics.Color;
118
import android.graphics.Paint;
129
import android.graphics.Rect;
13-
import android.graphics.Typeface;
14-
import android.graphics.drawable.GradientDrawable;
15-
import android.graphics.drawable.LayerDrawable;
1610
import android.util.AttributeSet;
17-
import android.util.Log;
18-
import android.view.Gravity;
1911
import android.view.MotionEvent;
20-
import android.view.View.OnClickListener;
21-
import android.widget.FrameLayout;
22-
import android.widget.LinearLayout;
23-
import android.widget.RelativeLayout;
24-
import android.widget.TextView;
25-
import android.widget.Toast;
26-
import android.widget.RelativeLayout.LayoutParams;
2712

2813
public class LayoutRipple extends CustomView {
2914

MaterialDesign/src/com/gc/materialdesign/views/ProgressBarCircularIndetermininate.java

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
package com.gc.materialdesign.views;
22

3-
import com.gc.materialdesign.R;
43
import com.gc.materialdesign.utils.Utils;
54

6-
import android.R.interpolator;
75
import android.content.Context;
86
import android.graphics.Bitmap;
97
import android.graphics.Canvas;
@@ -12,14 +10,7 @@
1210
import android.graphics.PorterDuff;
1311
import android.graphics.PorterDuffXfermode;
1412
import android.graphics.RectF;
15-
import android.graphics.drawable.GradientDrawable;
16-
import android.graphics.drawable.LayerDrawable;
1713
import android.util.AttributeSet;
18-
import android.view.View;
19-
import android.view.animation.Animation;
20-
import android.view.animation.RotateAnimation;
21-
import android.widget.RelativeLayout;
22-
import android.widget.RelativeLayout.LayoutParams;
2314

2415
public class ProgressBarCircularIndetermininate extends CustomView {
2516

MaterialDesign/src/com/gc/materialdesign/views/ProgressBarIndeterminate.java

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
package com.gc.materialdesign.views;
22

33
import com.gc.materialdesign.R;
4+
import com.nineoldandroids.animation.Animator;
5+
import com.nineoldandroids.animation.Animator.AnimatorListener;
6+
import com.nineoldandroids.animation.ObjectAnimator;
7+
import com.nineoldandroids.view.ViewHelper;
48

5-
import android.animation.Animator;
6-
import android.animation.Animator.AnimatorListener;
79
import android.content.Context;
810
import android.util.AttributeSet;
9-
import android.view.ViewPropertyAnimator;
1011
import android.view.animation.Animation;
1112
import android.view.animation.AnimationUtils;
1213

@@ -23,31 +24,31 @@ public void run() {
2324
setProgress(60);
2425
Animation anim = AnimationUtils.loadAnimation(getContext(), R.anim.progress_indeterminate_animation);
2526
progressView.startAnimation(anim);
26-
final ViewPropertyAnimator anim2 = progressView.animate();
27-
anim2.x(getWidth()).setDuration(1200);
28-
anim2.setListener(new AnimatorListener() {
27+
final ObjectAnimator anim2 = ObjectAnimator.ofFloat(progressView, "x", getWidth());
28+
anim2.setDuration(1200);
29+
anim2.addListener(new AnimatorListener() {
30+
2931
int cont = 1;
3032
int suma = 1;
3133
int duration = 1200;
3234

33-
@Override
3435
public void onAnimationEnd(Animator arg0) {
3536
// Repeat animation
36-
progressView.setX(-progressView.getWidth()/2);
37+
ViewHelper.setX(progressView,-progressView.getWidth()/2);
3738
cont += suma;
38-
progressView.animate().setListener(this).x(getWidth()).setDuration(duration/cont).start();
39+
ObjectAnimator anim2Repeat = ObjectAnimator.ofFloat(progressView, "x", getWidth());
40+
anim2Repeat.setDuration(duration/cont);
41+
anim2Repeat.addListener(this);
42+
anim2Repeat.start();
3943
if(cont == 3 || cont == 1) suma *=-1;
44+
4045
}
4146

42-
@Override
43-
public void onAnimationStart(Animator arg0) {
44-
}
45-
@Override
46-
public void onAnimationRepeat(Animator arg0) {
47-
}
48-
@Override
47+
public void onAnimationStart(Animator arg0) {}
48+
public void onAnimationRepeat(Animator arg0) {}
4949
public void onAnimationCancel(Animator arg0) {}
5050
});
51+
5152
anim2.start();
5253
}
5354
});

MaterialDesign/src/com/gc/materialdesign/views/ProgressBarIndeterminateDeterminate.java

Lines changed: 19 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,18 @@
11
package com.gc.materialdesign.views;
22

3-
import com.gc.materialdesign.R;
4-
import com.gc.materialdesign.R.anim;
3+
import com.nineoldandroids.animation.Animator;
4+
import com.nineoldandroids.animation.Animator.AnimatorListener;
5+
import com.nineoldandroids.animation.ObjectAnimator;
6+
import com.nineoldandroids.view.ViewHelper;
57

6-
import android.animation.Animator;
7-
import android.animation.Animator.AnimatorListener;
88
import android.content.Context;
99
import android.util.AttributeSet;
10-
import android.view.ViewPropertyAnimator;
11-
import android.view.animation.Animation;
12-
import android.view.animation.AnimationUtils;
1310

1411
public class ProgressBarIndeterminateDeterminate extends ProgressBarDetermininate {
1512

1613
boolean firstProgress = true;
1714
boolean runAnimation = true;
18-
ViewPropertyAnimator animation;
15+
ObjectAnimator animation;
1916

2017

2118

@@ -28,32 +25,31 @@ public void run() {
2825
// Make progress animation
2926

3027
setProgress(60);
31-
progressView.setX(getWidth()+progressView.getWidth()/2);
32-
progressView.setX(getWidth()+progressView.getWidth()/2);
33-
animation = progressView.animate();
34-
animation.x(-progressView.getWidth()/2).setDuration(1200);
35-
animation.setListener(new AnimatorListener() {
28+
ViewHelper.setX(progressView,getWidth()+progressView.getWidth()/2);
29+
animation = ObjectAnimator.ofFloat(progressView, "x", -progressView.getWidth()/2);
30+
animation.setDuration(1200);
31+
animation.addListener(new AnimatorListener() {
32+
3633
int cont = 1;
3734
int suma = 1;
3835
int duration = 1200;
3936

40-
@Override
4137
public void onAnimationEnd(Animator arg0) {
4238
// Repeat animation
4339
if(runAnimation){
44-
progressView.setX(getWidth()+progressView.getWidth()/2);
45-
cont += suma;
46-
animation = progressView.animate();
47-
animation.setListener(this).x(-progressView.getWidth()/2).setDuration(duration/cont).start();
48-
if(cont == 3 || cont == 1) suma *=-1;
40+
ViewHelper.setX(progressView,getWidth()+progressView.getWidth()/2);
41+
cont += suma;
42+
animation = ObjectAnimator.ofFloat(progressView, "x", -progressView.getWidth()/2);
43+
animation.setDuration(duration/cont);
44+
animation.addListener(this);
45+
animation.start();
46+
if(cont == 3 || cont == 1) suma *=-1;
4947
}
48+
5049
}
5150

52-
@Override
5351
public void onAnimationStart(Animator arg0) {}
54-
@Override
5552
public void onAnimationRepeat(Animator arg0) {}
56-
@Override
5753
public void onAnimationCancel(Animator arg0) {}
5854
});
5955
animation.start();
@@ -76,7 +72,7 @@ public void setProgress(int progress) {
7672
*/
7773
private void stopIndeterminate(){
7874
animation.cancel();
79-
progressView.setX(0);
75+
ViewHelper.setX(progressView,0);
8076
runAnimation = false;
8177
}
8278

0 commit comments

Comments
 (0)