当前位置: 首页 > news >正文

android图片蒙层

这里我们使用一个自定义view来为图片蒙层。该方法投机取巧,直接把一张有透明效果的图片直接画到原图上。tranparent.png那张图片可以换成用bitmap自己画,以后改进。先上效果图:上面是原图,下面是蒙层后的效果
图片描述

public class CenterImage extends ImageView { 
private Paint paint; 
private boolean isCenterImgShow; 
private Bitmap bitmap; 
public void setCenterImgShow(boolean centerImgShow) { 
    isCenterImgShow = centerImgShow; 
    if (isCenterImgShow) { 
    bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.transparent); 
    invalidate(); 
} 
} 
public CenterImage(Context context) { 
    super(context); 
    init(); 
} 
public CenterImage(Context context, AttributeSet attrs) { 
    super(context, attrs); 
    init(); 
} 
    public CenterImage(Context context, AttributeSet attrs, int defStyleAttr) { 
    super(context, attrs, defStyleAttr); 
    init(); 
} 
private void init() { 
    paint = new Paint(); 
} 
@Override 
protected void onDraw(Canvas canvas) { 
    super.onDraw(canvas); 
    if (isCenterImgShow && bitmap != null) { 
    //从中心点开始画 
    canvas.drawBitmap(bitmap, getMeasuredWidth() / 2 - bitmap.getWidth() / 2, getMeasuredHeight() / 2 - bitmap.getHeight() / 2, paint); 
    } 
} 
}
<com.epos.testrxjava.CenterImage
android:layout_below="@id/image"
android:id="@+id/goodsImage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/dog" />

调用:

CenterImage mGoodsImg =(CenterImage)findViewById(R.id.goodsImage);
mGoodsImg.setCenterImgShow(true);

透明图片:
图片描述

相关文章:

  • Docker学习笔记_使用Dockerfile创建flask的一个镜像
  • java 多线程基础, 我觉得还是有必要看看的
  • Nginx压测和并发预估
  • 未发先侃?对比华为,高通第二代5G调制解调器如何?
  • 安卓P底部有空白,需要手动全屏
  • vue.js框架原理浅析
  • NLPIR语义挖掘平台推动行业大数据应用服务
  • SpringBoot 实战 (九) | 整合 Mybatis
  • ThinkSNSPlus 2.0 产品体验报告
  • 开年巨制!千人千面回放技术让你“看到”Flutter用户侧问题
  • 资源 | 上千份简历模板统统给你!都拿去!
  • idou老师教你学Istio :5分钟简析Istio异常检测
  • CSS 专业技巧
  • 交互设计原则
  • Btrace使用入门
  • Cookie 在前端中的实践
  • Docker 1.12实践:Docker Service、Stack与分布式应用捆绑包
  • ES6核心特性
  • Gradle 5.0 正式版发布
  • Hibernate【inverse和cascade属性】知识要点
  • HTTP请求重发
  • Java 实战开发之spring、logback配置及chrome开发神器(六)
  • js对象的深浅拷贝
  • leetcode46 Permutation 排列组合
  • Netty源码解析1-Buffer
  • PAT A1017 优先队列
  • PyCharm搭建GO开发环境(GO语言学习第1课)
  • Service Worker
  • SpiderData 2019年2月13日 DApp数据排行榜
  • vue-router 实现分析
  • 阿里研究院入选中国企业智库系统影响力榜
  • 从@property说起(二)当我们写下@property (nonatomic, weak) id obj时,我们究竟写了什么...
  • 关于for循环的简单归纳
  • 关于使用markdown的方法(引自CSDN教程)
  • 排序(1):冒泡排序
  • 前端技术周刊 2018-12-10:前端自动化测试
  • 前端临床手札——文件上传
  • 浅谈JavaScript的面向对象和它的封装、继承、多态
  • 如何编写一个可升级的智能合约
  • 实战|智能家居行业移动应用性能分析
  • 通过来模仿稀土掘金个人页面的布局来学习使用CoordinatorLayout
  • 【云吞铺子】性能抖动剖析(二)
  • 不要一棍子打翻所有黑盒模型,其实可以让它们发挥作用 ...
  • 大数据全解:定义、价值及挑战
  • 数据库巡检项
  • ​Kaggle X光肺炎检测比赛第二名方案解析 | CVPR 2020 Workshop
  • # Maven错误Error executing Maven
  • (1)Android开发优化---------UI优化
  • (3)STL算法之搜索
  • (C语言)字符分类函数
  • (k8s中)docker netty OOM问题记录
  • (pytorch进阶之路)CLIP模型 实现图像多模态检索任务
  • (层次遍历)104. 二叉树的最大深度
  • (二十四)Flask之flask-session组件
  • (仿QQ聊天消息列表加载)wp7 listbox 列表项逐一加载的一种实现方式,以及加入渐显动画...