仿网易云音乐 专辑图片折叠轮播

来源:互联网 发布:expect详解sql 编辑:程序博客网 时间:2024/04/29 22:09
  1. 仿网易云音乐 专辑图片折叠轮播
    1. 先不多说现上一张效果图
    2. 首先简述一下实现原理
      1. 首先让我们的imageview动起来
      2. 实现我们的可折叠效果
      3. 实现图片一上一下的来回切换
    3. 实现自定义imageview
      1. 属性
      2. 代码

仿网易云音乐 专辑图片折叠轮播

先不多说现上一张效果图

这里写图片描述

首先简述一下实现原理

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
原创粉丝点击