WaterFlower.java
4.78 KB
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
package com.lotus.town.widget;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Matrix;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.view.View;
import com.lotus.town.R;
public class WaterFlower extends View{
public static class AnimaListener{
public void finish(){
}
}
private AnimaListener listener;
private Paint paint;
private float translatex1 = 5;
private float translatex2 = 5;
private float translatex3 = 5;
private float translatex4 = 5;
private float translatex5 = 5;
private float translatex6 = 5;
private float translatex7 = 5;
private float translatex8 = 5;
private float translatey1 = 5;
private float translatey2 = 5;
private float translatey3 = 5;
private float translatey4 = 5;
private float translatey5 = 5;
private float translatey6 = 5;
private float translatey7 = 5;
private float translatey8 = 5;
private Bitmap water1;
private Bitmap water2;
private Bitmap water3;
private Bitmap water4;
private Bitmap water5;
private Bitmap water6;
private Bitmap water7;
private Bitmap water8;
public void initPosition(float x,float y){
translatex1 = x;
translatex2 = x+20;
translatex3 = x+30;
translatex4 = x+40;
translatex5 = x;
translatex6 = x-10;
translatex7 = x-30;
translatex8 = x-35;
translatey1 = y+10;
translatey2 = y+10;
translatey3 = y+30;
translatey4 = y+10;
translatey5 = y;
translatey6 = y;
translatey7 = y+20;
translatey8 = y;
}
public WaterFlower(Context context, AttributeSet attributes) {
super(context,attributes);
paint = new Paint();
paint.setAntiAlias(true);
water1 = BitmapFactory.decodeResource(getContext().getResources(), R.drawable.water1);
water2 = BitmapFactory.decodeResource(getContext().getResources(), R.drawable.water2);
water3 = BitmapFactory.decodeResource(getContext().getResources(), R.drawable.water3);
water4 = BitmapFactory.decodeResource(getContext().getResources(), R.drawable.water4);
water5 = BitmapFactory.decodeResource(getContext().getResources(), R.drawable.water5);
water6 = BitmapFactory.decodeResource(getContext().getResources(), R.drawable.water6);
water7 = BitmapFactory.decodeResource(getContext().getResources(), R.drawable.water7);
water8 = BitmapFactory.decodeResource(getContext().getResources(), R.drawable.water8);
}
public WaterFlower(Context context) {
super(context);
paint = new Paint();
paint.setAntiAlias(true);
}
public void setListener(AnimaListener listener){
this.listener = listener;
}
private int waterCount = 50;
@Override
public void draw(Canvas canvas) {
if(waterCount-- <=0){
waterCount = 50;
setVisibility(View.GONE);
listener.finish();
return;
}
Matrix matrix = new Matrix();
matrix.setTranslate(translatex1,translatey1);
canvas.drawBitmap(water1,matrix,paint);
translatey1 = translatey1 - 1;
Matrix matrix2 = new Matrix();
matrix2.setTranslate(translatex2,translatey2);
canvas.drawBitmap(water2,matrix2,paint);
translatex2 = translatex2 + 0.2f;
translatey2 = translatey2 - 0.8f;
Matrix matrix3 = new Matrix();
matrix3.setTranslate(translatex3,translatey3);
canvas.drawBitmap(water3,matrix3,paint);
translatex3 = translatex3 + 1f;
translatey3 = translatey3 - 1.2f;
Matrix matrix4 = new Matrix();
matrix4.setTranslate(translatex4,translatey4);
canvas.drawBitmap(water4,matrix4,paint);
translatex4 = translatex4 + 1.2f;
translatey4 = translatey4 - 0.4f;
Matrix matrix5 = new Matrix();
matrix.setTranslate(translatex5,translatey5);
canvas.drawBitmap(water5,matrix5,paint);
translatey5 = translatey5 - 0.1f;
Matrix matrix6 = new Matrix();
matrix6.setTranslate(translatex6,translatey6);
canvas.drawBitmap(water6,matrix6,paint);
translatey6 = translatey6 - 0.1f;
Matrix matrix7 = new Matrix();
matrix7.setTranslate(translatex7,translatey7);
canvas.drawBitmap(water7,matrix7,paint);
translatex7 = translatex7 - 1f;
translatey7 = translatey7 - 1f;
Matrix matrix8 = new Matrix();
matrix8.setTranslate(translatex8,translatey8);
canvas.drawBitmap(water8,matrix8,paint);
translatex8 = translatex8 - 1f;
translatey8 = translatey8 - 0.4f;
super.draw(canvas);
}
}