仿网易云音乐 专辑图片折叠轮播
来源:互联网 发布:expect详解sql 编辑:程序博客网 时间:2024/04/29 22:09
- 仿网易云音乐 专辑图片折叠轮播
- 先不多说现上一张效果图
- 首先简述一下实现原理
- 首先让我们的imageview动起来
- 实现我们的可折叠效果
- 实现图片一上一下的来回切换
- 实现自定义imageview
- 属性
- 代码
仿网易云音乐 专辑图片折叠轮播
先不多说现上一张效果图
首先简述一下实现原理
1.首先让我们的imageview**动起来**
其实是不断的.invalidate();函数 让他不断的调用ondarw函数
(显然我们不必要不断的调用ondarw函数 只有在我们让他动的时候调用即可 所以我们要声明一个变量记录change记录是否产生动画)
2.实现我们的可折叠效果
Matrix的setPolyToPoly方法的使用
可参考(http://blog.csdn.net/lmj623565791/article/details/44278417)
3.实现图片一上一下的来回切换
paint.setXfermode(xfermode); xfermode就是如何处理两张图片的重叠效果 共有16种处理方式
实现自定义imageview
属性
存放bitmap的list
动画间隔的变量
动画桢间隔的变量
两个handler用于发送消息
前景与背景的索引
代码
<code class="hljs java has-numbering" style="display: block; padding: 0px; background-color: transparent; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; word-wrap: normal; background-position: initial initial; background-repeat: initial initial;"><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">package</span> com.cust.myview;<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">import</span> java.util.ArrayList;<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">import</span> java.util.List;<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">import</span> android.content.Context;<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">import</span> android.graphics.Bitmap;<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">import</span> android.graphics.BitmapFactory;<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">import</span> android.graphics.Canvas;<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">import</span> android.graphics.Matrix;<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">import</span> android.graphics.Paint;<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">import</span> android.graphics.PorterDuff.Mode;<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">import</span> android.graphics.PorterDuffXfermode;<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">import</span> android.graphics.Xfermode;<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">import</span> android.os.Handler;<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">import</span> android.util.AttributeSet;<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">import</span> android.widget.ImageView;<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">import</span> com.cust.uischool.R;<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">public</span> <span class="hljs-class" style="box-sizing: border-box;"><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">class</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">musicImageView</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">extends</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">ImageView</span>{</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">private</span> List<Bitmap> mbitmaps; <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">private</span> Paint paint; <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">private</span> Xfermode xfermode; <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">private</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">boolean</span> change; <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//当前是否变换</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">private</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> bhjg=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">5000</span>; <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//变换间隔时间</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">private</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> bhsj=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">50</span>; <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//变换时间</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">private</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> frontindex;<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//前景索引</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">private</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> backindex;<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//背景索引</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">private</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">boolean</span> setbitmap=<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">false</span>; <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//是否设置bitmap;</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">private</span> Matrix matrix; <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">private</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> count=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>; <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">private</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> henght; <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">public</span> <span class="hljs-title" style="box-sizing: border-box;">musicImageView</span>(Context context) { <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">this</span>(context,<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">null</span>); } <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">public</span> <span class="hljs-title" style="box-sizing: border-box;">musicImageView</span>(Context context, AttributeSet attrs) { <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">this</span>(context, attrs, <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>); } <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">public</span> <span class="hljs-title" style="box-sizing: border-box;">musicImageView</span>(Context context, AttributeSet attrs, <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> defStyle) { <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">super</span>(context, attrs, defStyle); paint=<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">new</span> Paint(); paint.setAntiAlias(<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">true</span>); xfermode=<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">new</span> PorterDuffXfermode(Mode.SRC_OVER); change=<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">false</span>; matrix=<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">new</span> Matrix(); Bitmap map1=BitmapFactory.decodeResource(getResources(),R.drawable.im2); Bitmap map2=BitmapFactory.decodeResource(getResources(),R.drawable.st); List<Bitmap> mbitmaps=<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">new</span> ArrayList<Bitmap>(); mbitmaps.add(map1); mbitmaps.add(map2); setBitmaps(mbitmaps); henght=map1.getHeight(); bhjg=(<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span>)Math.random()*(<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">5000</span>-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2000</span>)+<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2000</span>; } <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">public</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">void</span> <span class="hljs-title" style="box-sizing: border-box;">setBitmaps</span>(List<Bitmap> mbitmaps) { <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">this</span>.mbitmaps=mbitmaps; setbitmap=<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">true</span>; <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span>(mbitmaps.size()>=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2</span>) { frontindex=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>; backindex=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>; } <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">else</span>{ frontindex=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>; backindex=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>; } <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">new</span> Thread(){ <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">public</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">void</span> <span class="hljs-title" style="box-sizing: border-box;">run</span>() { handler.postDelayed(run, bhjg); handler1.postDelayed(run1, bhsj); }; } .start(); } Runnable run1 = <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">new</span> Runnable() { <span class="hljs-annotation" style="color: rgb(155, 133, 157); box-sizing: border-box;">@Override</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">public</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">void</span> <span class="hljs-title" style="box-sizing: border-box;">run</span>() { <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span>(change) { musicImageView.<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">this</span>.invalidate(); } handler1.postDelayed(run1, bhsj); } }; Runnable run = <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">new</span> Runnable() { <span class="hljs-annotation" style="color: rgb(155, 133, 157); box-sizing: border-box;">@Override</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">public</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">void</span> <span class="hljs-title" style="box-sizing: border-box;">run</span>() { change=<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">true</span>; handler.postDelayed(run, bhjg); } }; Handler handler1= <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">new</span> Handler(); Handler handler= <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">new</span> Handler(); <span class="hljs-annotation" style="color: rgb(155, 133, 157); box-sizing: border-box;">@Override</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">protected</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">void</span> <span class="hljs-title" style="box-sizing: border-box;">onMeasure</span>(<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> widthMeasureSpec, <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> heightMeasureSpec) { Bitmap bmp=mbitmaps.get(backindex); setMeasuredDimension(bmp.getWidth(), bmp.getHeight()); } <span class="hljs-annotation" style="color: rgb(155, 133, 157); box-sizing: border-box;">@Override</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">protected</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">void</span> <span class="hljs-title" style="box-sizing: border-box;">onDraw</span>(Canvas canvas) { <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">super</span>.onDraw(canvas); <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span>(change) { Bitmap bmp=mbitmaps.get(frontindex); Bitmap bmp1=mbitmaps.get(backindex); count++; <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span>(bmp1.getHeight() - <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">5</span>*count>=bmp1.getHeight()/<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2</span>) { <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//绘制上半部分图像</span> canvas.save(); canvas.clipRect( <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>, <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>, bmp1.getWidth(), bmp1.getHeight()/<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2</span>); canvas.drawBitmap(bmp1, <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>, <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>, paint); canvas.restore(); <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//绘制下班部分图像</span> canvas.save(); canvas.clipRect( <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>, bmp1.getHeight()/<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2</span>, bmp1.getWidth(), bmp1.getHeight()); canvas.drawBitmap(bmp, <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>, <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>, paint); canvas.restore(); <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//动态改变下半部分图像</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">float</span>[] src = { <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>, bmp1.getHeight()/<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2</span>,<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">// </span> bmp1.getWidth(), bmp1.getHeight()/<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2</span>,<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">// </span> bmp1.getWidth(), bmp1.getHeight(),<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">// </span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>, bmp1.getHeight() }; henght=bmp1.getHeight() - <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">5</span>*count; <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">float</span>[] dst = { <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>, bmp1.getHeight()/<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2</span>,<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">// </span> bmp1.getWidth(), bmp1.getHeight()/<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2</span>,<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">// </span> bmp1.getWidth(), henght,<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">// </span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>, henght }; System.out.println(count+<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">""</span>); canvas.save(); matrix.setPolyToPoly(src, <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>, dst, <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>, src.length >> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>); canvas.clipRect( <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>, bmp1.getHeight()/<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2</span>, bmp1.getWidth(), henght); paint.setXfermode(<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">null</span>); paint.setXfermode(xfermode); canvas.drawBitmap(bmp1,matrix, paint); canvas.restore(); paint.setXfermode(<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">null</span>); } <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">else</span>{ <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//绘制上半部分图像</span> canvas.save(); canvas.clipRect( <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>, <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>, bmp1.getWidth(), bmp1.getHeight()/<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2</span>); canvas.drawBitmap(bmp1, <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>, <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>, paint); canvas.restore(); <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//绘制下班部分图像</span> canvas.save(); canvas.clipRect( <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>, bmp1.getHeight()/<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2</span>, bmp1.getWidth(), bmp1.getHeight()); canvas.drawBitmap(bmp, <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>, <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>, paint); canvas.restore(); <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//动态改变上半部分图像</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">float</span>[] src = { <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>,<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>,<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">// </span> bmp1.getWidth(), <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>,<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">// </span> bmp1.getWidth(), bmp1.getHeight()/<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2</span>,<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">// </span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>, bmp1.getHeight()/<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2</span> }; henght=bmp1.getHeight() - <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">5</span>*count; <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">float</span>[] dst = { <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>, henght,<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">// </span> bmp1.getWidth(), henght,<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">// </span> bmp1.getWidth(), bmp1.getHeight()/<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2</span>,<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">// </span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>, bmp1.getHeight()/<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2</span> }; System.out.println(count+<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">""</span>); canvas.save(); matrix.setPolyToPoly(src, <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>, dst, <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>, src.length >> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>); canvas.clipRect( <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>, bmp1.getHeight()/<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2</span>, bmp1.getWidth(), henght); paint.setXfermode(<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">null</span>); paint.setXfermode(xfermode); canvas.drawBitmap(bmp,matrix, paint); canvas.restore(); paint.setXfermode(<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">null</span>); <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span>(henght<=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>) { <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//说明动画结束 重置动画参数</span> count=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>; change=<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">false</span>; <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> temp=frontindex; frontindex=backindex; backindex=temp; System.out.println(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"change false"</span>); bhjg=(<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span>)(Math.random()*(<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">8000</span>-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">5000</span>))+<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">5000</span>; System.out.println(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"bhjg: "</span>+bhjg+<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">""</span>); } } } <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">else</span>{ <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span>(!setbitmap) { canvas.drawBitmap(BitmapFactory.decodeResource(getResources(),R.drawable.im2), matrix, paint); } } }}</code>
0 0
- 仿网易云音乐 专辑图片折叠轮播
- 仿网易云音乐 专辑图片折叠轮播
- 仿网易云音乐 专辑图片折叠轮播(新)
- 【python】 网易云音乐 专辑图片+歌词
- 自定义插件实现网易云音乐首页图片轮播
- 《快播》仿网易云音乐UI,在线视频,在线图片的开源项目
- 仿网易云音乐图片保存
- 仿网易云音乐
- 仿网易云音乐播放音乐转盘
- 仿网易云音乐的播放进度条
- 仿网易云音乐分类菜单
- 仿网易云音乐部分UI实现
- iOS-仿网易云音乐控制器
- 仿网易云音乐的滑动效果
- Android仿网易云音乐播放界面
- remusic:仿网易云音乐 安卓版
- Android仿网易云音乐播放界面
- 仿网易云音乐进度框
- Aerospike C客户端手册———错误处理
- A new way to xss with java applet
- 五月太湖迷笛志愿者体验
- struts2中防止多次提交表单的token标签
- Aerospike C客户端手册———共享内存
- 仿网易云音乐 专辑图片折叠轮播
- JAVA关于POI导出Excel内存溢出的解决方案
- JavaEnhance——枚举、注解及泛型
- 如何将一个excel工作簿中的多张表合并到一张表中
- 一行代码解决点击cell去掉灰色背景方法
- 通过GET和POST方式提交参数给web应用
- python提取piazza的信息
- Yii 框架中 checkBoxList css样式的使用
- 设计模式-借还模式