【安卓特效】怎样给ImageView加上遮罩,点击时泛黑、或泛白、?
基本思路:
方法1.遮罩可直接叠加一层带alpha的纯白、或纯黑View,可直接在ImageView外套一层FrameLayout,其foreground(一般同学可能仅仅知道background,事实上framelayout还有foreground)给定一个selector(按下时给0x33000000,即泛黑),到位。
方法2.重写imageView,按下状态改变时invalidate(触发onDraw),onDraw中依据按下状态绘制0x33000000。注意imageView.setClickable(true),或imageView.setOnClickListener时才可触发dispatchSetPressed。
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); // 取id
// imgTest = (ImageView) findViewById(R.id.imgTest);
loMain = (RelativeLayout) findViewById(R.id.loMain); findViewById(R.id.btn1).setOnClickListener(this);
findViewById(R.id.btn2).setOnClickListener(this); MyImg myImg = new MyImg(this);
myImg.setImageResource(R.drawable.meinv);
myImg.setClickable(true);
loMain.addView(myImg);
} private class MyImg extends ImageView { public MyImg(Context context) {
super(context);
} @Override
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
super.onDraw(canvas); if (isPressed())
canvas.drawColor(0x33000000);
} @Override
protected void dispatchSetPressed(boolean pressed) {
// TODO Auto-generated method stub
super.dispatchSetPressed(pressed);
invalidate();
}
}
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2FybGluMzIx/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2FybGluMzIx/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
【安卓特效】怎样给ImageView加上遮罩,点击时泛黑、或泛白、?的更多相关文章
- vue移动端出现遮罩层时在遮罩层滑动时禁止遮罩层下方页面滑动
h5页面 点击出现弹框时 在遮罩层上面滑动时 下方的页面会出现滑动现象 解决方法 我知道的有以下两种 在遮罩层标签上添加@touchmove.prevent 把遮罩层显示时把下方的父盒子css设置为固 ...
- 安卓开发:用ImageView放上图片后上下有间隙
想不到在我使用第一个UI控件ImageView时候就遇上了问题,简单使用ImageView如下: <ImageView android:layout_width="match_pare ...
- 安卓之图像视图ImageView
一.有关属性说明 (1)scaleType:指定图形的拉伸类型,默认是fitCenter:拉伸类型的取值如下: (2)src:指定图形来源,src图形按照scaleType拉伸:背景图不按scaleT ...
- JS-制作网页特效——选项卡效果(水平,点击)
//总结:这个样式的思维很重要,以前刚开始做,想的都是,怎么获取到自己点击的是哪一个li,然后给他以对应的div样式.后来发现难点是,怎么找到另外两个没有被点击的li和他们对应的div.把他们的样式去 ...
- Unity 遮罩 点击panel以外的位置,panel关闭
public Class Panel_ATMRechage : IPanel{ private Dictionary<string,UISprite>mSprites; } protect ...
- android 中遇到 imageView getWidth 始终为0 时 ,设置 setImageBitmap 的方法
先说说我的遇到的问题: 1. 我在activity里写一个 fragment 2.这个fragment里有个 imageView ,用于显示图片. 我使用 asyncTask获得图片,并准备在这个im ...
- cocos2dx 3.x 蒙板 遮罩 点击圆功能
//注册触摸 EventListenerTouchOneByOne *listener = EventListenerTouchOneByOne::create(); listener->onT ...
- 自己定义ImageView,实现点击之后算出点击的是身体的哪个部位
近期也是由于项目的原因,所以有机会接触到这边的算法. 此文重点不是怎样实现的思路和原理, 有须要的同事能够借鉴一下 废话不多说,直接上代码: <span style="font-siz ...
- 安卓TextView限定行数最大值,点击按钮显示所有内容
问题展示 如上图所示,在普通的TextView中,要求: 最多显示3行 超过三行显示展开按钮 且点击展开按钮显示完整内容 这个需求看似简单,但解决起来会遇到两个较为棘手的问题:1,如何判断是否填满了前 ...
随机推荐
- MySql 5.6 慢查询
网上都巨坑 最后在官网找到了开启方法 原来是配置文件改了 Updated example for 2015 MySQL 5.6: slow_query_log = 1slow_query_log_fi ...
- Java WEB —— XML
XML语言(可扩展标记语言W3C):描述一系列有关系的数据,允许自定义标签,它常用作软件配置文件,以描述程序模块之间的关系. XML语法:文档声明,元素,注释(DATA区,特殊字符,处理指令(proc ...
- 加固Samba安全三法
欢迎大家给我投票: http://2010blog.51cto.com/350944 650) this.width=650;" onclick='window.open("htt ...
- ACM 数论小结 2014-08-27 20:36 43人阅读 评论(0) 收藏
断断续续的学习数论已经有一段时间了,学得也很杂,现在进行一些简单的回顾和总结. 学过的东西不能忘啊... 1.本原勾股数: 概念:一个三元组(a,b,c),其中a,b,c没有公因数而且满足:a^2+b ...
- SQLCONNECTION使用HTTP通信协议和中间件连接
SQLCONNECTION支持TCP/IP和HTTP两种通信协议和中间件连接.一般地,默认情况下使用TCP/IP协议. HTTP 协议的一个非常重要的优势在于穿越防火墙. SQLCONNECTION使 ...
- listview的tag
tag,记录一行数据的唯一标识,小DEMO: lsShow.Items.Add("洗衣机"); lsShow.Items[].Tag = "我不愿让你一个人"; ...
- 8.3 LIS LCS LCIS(完结了==!)
感觉这个专题真不好捉,伤心了,慢慢啃吧,孩纸 地址http://acm.hust.edu.cn/vjudge/contest/view.action?cid=28195#overview 密码 ac ...
- [置顶] DataGridView控件---绑定数据方法
DataGridView控件是在windows应用程中显示数据最好的方式,它只需要几行简短的代码就可以把数据显示给用户,同时又支持增.删.改操作.今天将自己总结的增加数据的方法总结分 ...
- CCD摄像机与CMOS摄像机区别
CCD摄像机 什么是CCD摄像机? CCD是Charge Coupled Device(电荷耦合器件)的缩写,它是一种半导体成像器件,因而具有灵敏度高.抗强光.畸变小.体积小.寿命长.抗震动等优点. ...
- T4 模板入门
T4,即4个T开头的英文字母组合:Text Template Transformation Toolkit.T4(Text Template Transformation Toolkit)是微软官方在 ...