本文主要是介绍android 倒影控件,android 倒影,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
public void setImageDrawable(Drawable drawable) {
Bitmap origBmp=getBitmapFromDrawable(drawable);
Matrix matrix=new Matrix();
matrix.setScale(1, -1);
//创建Bitmap
Bitmap revBmp=Bitmap.createBitmap(origBmp,0,0,origBmp.getWidth(),origBmp.getHeight(),matrix, true);
Bitmap bmp=Bitmap.createBitmap(origBmp.getWidth(), origBmp.getHeight()*2, Config.ARGB_8888);
Canvas canvas=new Canvas(bmp);
canvas.drawBitmap(origBmp, 0, 0,null );
canvas.drawBitmap(revBmp, 0, origBmp.getHeight(), null);
Paint paint=new Paint();
LinearGradient gradient=new LinearGradient(0, origBmp.getHeight(), 0, origBmp.getHeight()+revBmp.getHeight(), 0xff000000,0x10000000, TileMode.CLAMP);
paint.setShader(gradient);
paint.setXfermode(new PorterDuffXfermode(Mode.DST_IN));
canvas.drawRect(0, origBmp.getHeight(), origBmp.getWidth(), origBmp.getHeight()+revBmp.getHeight(), paint);
super.setImageDrawable(new BitmapDrawable(bmp));
}
这篇关于android 倒影控件,android 倒影的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!