作家
登录

Android仿知乎创意广告 广告还能这么玩?

作者: 来源: 2017-12-06 16:04:58 阅读 我要评论

int w, int h, int oldw, int oldh) { 
  •         super.onSizeChanged(w, h, oldw, oldh); 
  •  
  •         mMinDy = h; 
  •         Drawable drawable = getDrawable(); 
  •  
  •         if (drawable == null) { 
  •             return
  •         } 
  •  
  •         mBitmap = drawableToBitamp(drawable); 
  •         mBitmapRectF = new RectF(0, 0, 
  •                 w, 
  •                 mBitmap.getHeight() * w / mBitmap.getWidth()); 
  •  
  •     } 
  •  
  •  
  •     private Bitmap drawableToBitamp(Drawable drawable) { 
  •         if (drawable instanceof BitmapDrawable) { 
  •             BitmapDrawable bd = (BitmapDrawable) drawable; 
  •             return bd.getBitmap(); 
  •         } 
  •         int w = drawable.getIntrinsicWidth(); 
  •         int h = drawable.getIntrinsicHeight(); 
  •         Bitmap bitmap = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888); 
  •         Canvas canvas = new Canvas(bitmap); 
  •         drawable.setBounds(0, 0, w, h); 
  •         drawable.draw(canvas); 
  •         return bitmap; 
  •     } 
  •  
  •     // ... 省略一些代码 
  • 因为我们要绘制,所以这里我们把drawable转成bitmap,然后我们默认要显示最底部,所以须要一个最小的偏移,即控件高度。

    这些工作,我们都在onSizeChanged做了。

    并且我们根据当前控件宽度,对bitmap进行了缩放,并将缩放后的尺寸存在了mBitmapRectF中,以便于绘制。

    那么接下来就是绘制了,还记得绘制过程中,我们重要应用translate来控制绘制的区域,所以我们还要对外裸露一个setDy办法,so,我们的代码大年夜致是如许的:

    1. private int mDy; 
    2.  
    3. public void setDy(int dy) { 
    4.  
    5.     if (getDrawable() == null) { 
    6.         return

    7.   推荐阅读

        基于iOS 11机器学习垃圾短信过滤应用:熊猫吃短信

      开辟者大年夜赛路演 | 12月16日,技巧立异,北京不见不散 作为一个生活在移动互联网时代的技巧宅,饱受骚扰短信之苦,但没有一个简单的又不消上传本身短信的过滤应用。于是我大年夜本身收到>>>详细阅读


      本文标题:Android仿知乎创意广告 广告还能这么玩?

      地址:http://www.17bianji.com/lsqh/39523.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)