Android 遮罩效果
2015-09-11 11:15
483 查看
最终效果图:
背景图
由于图片是白色的,所以跟网页背景混在一起了
前景图
代码
[code]public class MaskImageView extends ImageView { private Xfermode mXfermode = new PorterDuffXfermode(PorterDuff.Mode.SRC_IN); public MaskImageView(Context context) { this(context, null); } public MaskImageView(Context context, AttributeSet attrs) { super(context, attrs); } public MaskImageView(Context context, AttributeSet attrs, int defStyle, Paint paint) { super(context, attrs, defStyle); } @Override protected void onDraw(Canvas canvas) { if (!(getDrawable() instanceof BitmapDrawable)) { super.onDraw(canvas); return; } int saveFlags = Canvas.MATRIX_S***E_FLAG | Canvas.CLIP_S***E_FLAG | Canvas.HAS_ALPHA_LAYER_S***E_FLAG | Canvas.FULL_COLOR_LAYER_S***E_FLAG | Canvas.CLIP_TO_LAYER_S***E_FLAG; canvas.saveLayer(0, 0, getWidth(), getHeight(), null, saveFlags); getBackground().draw(canvas); BitmapDrawable image = (BitmapDrawable) getDrawable(); image.getPaint().setXfermode(mXfermode); image.draw(canvas); canvas.restore(); } }
相关文章推荐
- (4.4.11)Android sdk content loader 0%的解决方案
- 去掉android中的标题显示
- android 使用zxing生成中间嵌套logo的二维码
- Android开发之EditText属性详解
- 建立 Android 游戏项目的必备 XxxManifest.xml 配置
- Android插件实例——360 DroidPlugin详解
- android --解决GridView上下滑动出现错位问题
- Android Studio之代码混淆
- Android Fragment 真正的完全解析(下)
- Android Fragment 真正的完全解析(上)
- 有哪些 Android 大牛的 blog 值得推荐?
- android系统通过图片绝对路径获取URI的三种方法
- Android第四十八期 - SwipeMenuListView
- Android第四十八期 - SwipeMenuListView
- android如何保存相册后显示
- Android 布局学习之——LinearLayout属性baselineAligned的作用及baseline
- Android 常用第三方库(长期更新)
- Ionic Android开发环境搭建 下
- Android菜单,仿人人客户端侧滑效果,史上最简单的侧滑实现
- 学习Android开发的二十套免费理想资源