开发工具:
文件大小: 749kb
下载次数: 0
上传时间: 2013-04-28
详细说明: 带有倒影的图片滑动效果,注释非常详细。 部分代码如下: for (int imageId : mImageIds) { Bitmap originalImage = BitmapFactory.decodeResource(mContext .getResources(), imageId); int width = originalImage.getWidth(); int height = originalImage.getHeight(); //设置图片反转 Matrix matrix = new Matrix(); // matrix.setRotate(30); //缩放图片的动作。矩阵前乘 // 1表示放大比例,不放大也不缩小。 // -1表示在y轴上相反,即旋转180度。 matrix.preScale(1, -1); //reflectionImage就是下面那个透明的倒影,宽为图片本来的宽度,高是图片高度的一半 //从height/2的高度开始到高度为(height/2)+(height/4) Bitmap re flectionImage = Bitmap.createBitmap(originalImage, 0, height / 2, width, height / 4, matrix, false); //创建一个新的Bitmap高度为原来的1.5倍 Bitmap bitmapWithReflection = Bitmap.createBitmap(width, (height + height / 2), Config.ARGB_8888); //先画原始的图片 Canvas canvas = new Canvas(bitmapWithReflection); canvas.drawBitmap(originalImage, 0, 0, null); Paint deafaultPaint = new Paint(); // 抗锯齿的方法 // deafaultPaint.setAntiAlias(true); //画图片与倒影之间的间距 canvas.drawRect(0, height, width, height + reflectionGap, deafaultPaint); //画倒影 canvas.drawBitmap(reflectionImage, 0, height + reflectionGap, null); Paint paint = new Paint(); // 抗锯齿的方法 // paint.setAntiAlias(true); //创建一个渐变的模板放在下面被反转的图片上面 LinearGradient shader = new LinearGradient(0, originalImage.getHeight(), 0, bitmapWithReflection.getHeight() + reflectionGap, 0x70ffffff, 0x00ffffff, TileMode.CLAMP); paint.setShader(shader); paint.setXfermode(new PorterDuffXfermode(Mode.DST_IN)); canvas.drawRect(0, height, width, bitmapWithReflection.getHeight() + reflectionGap, paint); ImageView imageView = new ImageView(mContext); imageView.setImageBitmap(bitmapWithReflection); imageView.setLayoutParams(new GalleryFlow.LayoutParams(180, 240)); // imageView.setScaleType(ScaleType.MATRIX); mImages[index++] = imageView; } return true; } ...展开收缩
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.