- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
my_gallery特效,旋转,倒影,教程
Gallery特效Android中gallery特效的使用,使用比较多的就是旋转,倒影,效果,让后可以通过自己的创意,写出更好的效果。例:旋转效果(Gif格式的图片,保存后可以看到动画效果)网上的搜索的效果基本上是这种效果:其实这样的效果很多,看自己的想象力。把原理弄清楚了基本上是可以实现的,其中几个比较重的知识是,Matrix和Camera类的应用。都是android.graphics.包下面的,除了倒影效果外,gallery的其他的所有的效果都是使用这两个类来完成的。这两方面的知识可以参考:my_android.graphics.Matrix学习笔记.docx,和 my_android.graphics.Camera图片绕X,Y,Z轴旋转.docx 文档,我会一起打包。倒影效果:思路获取一张图片---》反转高度为原来的1/2---》在新的图片上会一个渐变的矩形框-----》把这几个按照顺序全部画到画布上---》ok任务结束,放回给Gallery的视图,注意是在适配器中完成这个操作的。具体代码就在不在这里讲,有代码:主要讲几个需要注意地方很容易忽略的位子,gallery可以一直转动的效果,就是说即使只有5张图片,可以循环的拖动,这个效果其实没有真正的实现只是一个假象,我们在适配器中getContent(),设置他的返回值很大,例:Integer.Max_Value差不多有21亿多大然后返回视图的时候用position取余,可以达到这样的效果;2.截图中我们看到有对图片的处理,因为gallery中的每一个Item能够接受的图片的大小是有限制的,我们创建Bitmap的时候需要给一个参数给Bitmap来减少图片所占的内存,并且以流的形式来读取,这样可以避免一个内存错误的问题。其中options.inSampleSize = 5是表示放大缩小的比例。3.图片的大小可能是各种尺寸的,我们需要做大小的统一处理,设置imageView的layoutParams来完成,(130,90)是最终输出图片的大小。也就是Item中每一个Item。旋转效果:思路在根据item(以后出现的item都是表示gallery中的一个视图),所在的位置来计算它的旋转角度------》根据旋转角度来计算缩放大小,----》应用旋转和缩放效果,这个流程看上去很简单,但是细节确实很多,特别是一些参数的设置,必须自己慢点摸索出来,才能做出不错的效果。我们需要重写gallery类的方法:getChildStaticTransformation(View child, Transformation t)主要是用来控制gallery中每个图片的旋转(重写的gallery中方法),计算传过来的item的半径值,用来item判断是否在中心位置,如果在中心位置是不需要旋转的,如果不是在根据和屏幕中心位置来计算旋转角度,判断中心位置的方式:首先获取屏幕的半径值,mCoveflowCenter://主要功能的代码 private void transformImageBitmap(ImageView child, Transformation t, int rotationAngle) { //对效果进行保存 mCamera.save(); //获取Matrix这个很重要, final Matrix imageMatrix = t.getMatrix(); //图片高度 final int imageHeight = child.getLayoutParams().height; //图片宽度 final int imageWidth = child.getLayoutParams().width; //返回旋转角度的绝对值 final int rotation = Math.abs(rotationAngle); // As the angle of the view gets less, zoom in if (rotation mMaxRotationAngle) {//如果旋转角度的绝对值小于最大的旋转角度,我们按照比例来缩放,这里根据自己的需要来更改缩放的比例, float zoomAmount = (float) (mMaxZoom + (rotation * 1.5)); mCamera.translate(0.0f, 0.0f, zoomAmount); } else {// mCamera.translate在Z轴上正向移动camera的视角,实际效果为放大图片。 // 如果在Y轴上移动,则图片上下移动;X轴上对应图片左右移动。 rotationAngle = -(int) (((float) (mCoveflowCenter - Math.abs(getC
您可能关注的文档
- 三星Galaxy S4刷机.doc
- 人大商学院博士入学考试试题.doc
- 三星GALAXY Note II N719和三星GALAXY Note II N7102 16GB双卡公开版有什么区别.doc
- 必修3Module 6Old and New.doc
- 《魔幻宫殿》中盗梦者.docx
- 美剧实习医师格蕾中出现的英文版医学词汇2.doc
- GMP检查缺陷项整改思路.docx
- 名言警句中英文对照.doc
- 饥饿游戏人物大解析.doc
- 斯里兰卡十日游行程计划书.doc
- 人教版八年级上册数学精品教学课件 第十三章 三角形 章末整合练.ppt
- 人教版八年级上册数学精品教学课件 第十五章 轴对称 15.3 等腰三角形-15.3.1 等腰三角形-第2课时 等腰三角形的判定 (4).ppt
- 人教版八年级上册数学精品教学课件 极速提分法 第17招 整体思想在解题中的七种技巧.ppt
- 人教版八年级上册数学精品教学课件 第十五章 分式 专项突破9 分式方程的解在求字母的值或取值范围中的常用技巧.ppt
- 人教版八年级上册数学精品教学课件 第十八章 分式 18.3 分式的加法与减法-第1课时 分式的加减.ppt
- 人教版八年级上册数学精品教学课件 第十四章 全等三角形 14.1 全等三角形及其性质 (4).ppt
- 七年级作文成长的经历(11篇).docx
- 法律责任豁免声明及工作证明函(6篇).docx
- 叙事作文那是一次难忘的尝试750字通用14篇.docx
- 沙滩里的秘密500字(14篇).docx
文档评论(0)