Android实现红包雨动画效果实现红包雨动画效果
本文介绍了Android实现红包雨动画效果,分享给大家,希望对大家有帮助
红包雨
关于实现上面红包雨效果步骤如下:
1.创建一个红包实体类
public class RedPacket {
public float x, y;
public float rotation;
public float speed;
public float rotationSpeed;
public int width, height;
public Bitmap bitmap;
public int money;
public boolean isRealRed;
public RedPacket(Context context, Bitmap originalBitmap, int speed, float maxSize, float minSize, int viewWidth) {
//获取一个显示红包大小的倍数
double widthRandom = Math.random();
if (widthRandom < minSize || widthRandom > maxSize) {
widthRandom = maxSize;
}
//红包的宽度
width = (int) (originalBitmap.getWidth() * widthRandom);
//红包的高度
height = width * originalBitmap.getHeight() / originalBitmap.getWidth();
int mWidth = (viewWidth == 0) ? context.getResources().getDisplayMetrics().widthPixels : viewWidth;
//生成红包bitmap
bitmap = Bitmap.createScaledBitmap(originalBitmap, width, height, true);
originalBitmap.recycle();
Random random = new Random();
//红包起始位置x:[0,mWidth-width] int rx = random.nextInt(mWidth) - width;
x = rx <= 0 ? 0 : rx;
//红包起始位置y