【安卓特效】如何给ImageView加上遮罩,点击时泛黑、或泛白、?
来源:互联网 发布:外卖人8.7 源码 编辑:程序博客网 时间:2024/04/30 08:05
基本思路:
方法1.遮罩可直接叠加一层带alpha的纯白、或纯黑View,可直接在ImageView外套一层FrameLayout,其foreground(一般同学可能只知道background,其实framelayout还有foreground)给定一个selector(按下时给0x33000000,即泛黑),到位。
方法2.重写imageView,按下状态改变时invalidate(触发onDraw),onDraw中根据按下状态绘制0x33000000。注意imageView.setClickable(true),或imageView.setOnClickListener时才可触发dispatchSetPressed。
@Overridepublic 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);}@Overrideprotected void onDraw(Canvas canvas) {// TODO Auto-generated method stubsuper.onDraw(canvas);if (isPressed())canvas.drawColor(0x33000000);}@Overrideprotected void dispatchSetPressed(boolean pressed) {// TODO Auto-generated method stubsuper.dispatchSetPressed(pressed);invalidate();}}
82 0
- 【安卓特效】如何给ImageView加上遮罩,点击时泛黑、或泛白、?
- 如何给网站加上粒子特效
- 给ImageView添加点击事件
- 给ImageView设置点击范围
- 安卓给button增加点击事件
- 给点击的布局加上背景
- 如何给绘图加上动作
- 如何给 Toto 加上分类?
- 如何给PPT加上页码?
- 给一个div加上黑色遮罩
- 给你的网站加上“富强、民主、和谐”点击特效
- 给imageView添加手势(点击事件)
- 安卓中的 ImageView
- 安卓Imageview控件如何获取网络图片
- 安卓给TextView几个字段设置点击事件
- 安卓特效
- js点击下载跳转iOS或安卓
- js点击下载跳转iOS或安卓
- hdu 4436 str2int ( 后缀数组 )
- seafile server源码编译安装教程
- 动态内存分配
- Android学习笔记:图片访问数组
- shell脚本总结
- 【安卓特效】如何给ImageView加上遮罩,点击时泛黑、或泛白、?
- MS-SQL SERVER单列合并的四种常用方法--【叶子】
- swift 两周复习总结(图)
- git 总结
- 单项选择题系统
- opencv中Bayer 图像到RGB图像装换的问题
- android之Apache Http——向服务器发送请求的同时发送参数
- floyd 水题
- C与C++动态分配二维数组