用于android按键的漂浮回弹动画,采用模拟方式实现
1.回弹幅度固定,动画总时间浮动,输入最终位置坐标,返回每毫秒的位置坐标
import java.util.*;
public class bounce {
public static ArrayList<Double> getStatus(int y) {
double a = -0.01;
double v = 0;
ArrayList<Double> pos = new ArrayList<Double>();
pos.add((double) y);
for (int i = 0; i < 100; ++i) {
pos.add(pos.get(pos.size() - 1) + v);
v = v - a;
}
for (int i = 0; i < 100; ++i) {
pos.add(pos.get(pos.size() - 1) + v);
v = v + a;
}
while (pos.get(pos.size() - 1) + v > 0) {
pos.add(pos.get(pos.size() - 1) + v);
v = v + a;
}
Collections.reverse(pos);
return pos;
}
public static void main(String[] args) {
int y = 1000;
ArrayList<Double> pos;
pos = getStatus(y);
for (int i = 0; i < pos.size(); ++i) {
System.out.println(