Android项目刮刮奖详解扩展篇开源刮刮奖View的制作
来源:android 网络用户发布,如有版权联系网管删除 2018-08-22
修改之前的项目代码
开源库,自然是不能像之前项目那般写的那么凌乱,自然是得写上厚厚的注释,将代码重构优化一下,还得考虑到相关的逻辑
这里提一下,attrs中可以使用|
来使该属性接收两个属性,最常用的还是背景颜色和背景图片合成一项,例如上面定义的attr中的背景
我们可以通过下面的方法来对这样的属性使用,获得之后转换为bitmap
/** * drawable转换为bitmap * @param drawable 需要转换的drawble * @param width 宽 * @param height 高 * @return 返回bitmap */ public Bitmap drawableToBitmap(Drawable drawable, int width, int height) { if (drawable instanceof BitmapDrawable) { return ((BitmapDrawable) drawable).getBitmap(); } Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); Canvas canvas = new Canvas(bitmap); drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight()); drawable.draw(canvas); return bitmap; }
其实drawable 它本身有一个 draw方法, 只要我们调用setBounds
设置范围, 在调用draw
方法就可以直接画了,上面的drawable其实已经包含有颜色了,所以我们直接调用draw
方法即可在画出一个纯颜色的bitmap
简单地观察,这里与会之前的mCanvas是一样的。
以新建的bitmap作为画板,之后drawable在canvas上作画(实际上是画在了bitmap),之后我们返回这个bitmap使用即可
其他地与之前差不多,大家自己琢磨琢磨吧,最后我会发出完整代码的
查看评论 回复
"Android项目刮刮奖详解扩展篇开源刮刮奖View的制作"的相关文章
- 上一篇:Android运行时权限处理
- 下一篇:androidRecyclerView