本例子在写的时候参照了网上的一个demo,在其基础上改的,具体出处找不到了,所以现在也没法附链接了
本文中可以参考注意积累的知识点如下:
1.将Drawable转换成BitMap
2.将BitMap转换成Drawable
3.图片抖动时镜面效果的实现原理:
首先将原始图片的倒影绘画出来,注意不要与原始图片绘制到一张画布上;其次将两张图片布局在一起(上下布置);最后将原图与倒影都加上Animation,两个Animation效果相反。
demo参见附件
本文中可以参考注意积累的知识点如下:
1.将Drawable转换成BitMap
/**
* 将Drawable转化为Bitmap
* @param drawable
* @return
*/
public static Bitmap drawableToBitmap(Drawable drawable) {
int width = drawable.getIntrinsicWidth();
int height = drawable.getIntrinsicHeight();
Bitmap bitmap = Bitmap.createBitmap(width, height, drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888 : Bitmap.Config.RGB_565);
Canvas canvas = new Canvas(bitmap);
drawable.setBounds(0, 0, width, height);
drawable.draw(canvas);
return bitmap;
}
2.将BitMap转换成Drawable
Drawable drawable = new BitmapDrawable(bitmap);
3.图片抖动时镜面效果的实现原理:
首先将原始图片的倒影绘画出来,注意不要与原始图片绘制到一张画布上;其次将两张图片布局在一起(上下布置);最后将原图与倒影都加上Animation,两个Animation效果相反。
demo参见附件