iphone的按钮默认按下都带了光晕效果,其实android也很容易实现。只需要在按下的时候贴图即可。

* Xiaoyuan at 2012-4-25

import android.content.Context;

import android.graphics.Canvas;

import android.graphics.drawable.Drawable;

import android.util.AttributeSet;

import android.view.MotionEvent;

import android.widget.ImageView;

/**

* @author Xiaoyuan

*

*/

public class QImageView extends ImageView {

/** 按下光晕图片 */

private Drawable mPressedDrawable;

private boolean mPressed;

/**

* @param context

* @param attrs

*/

public QImageView(Context context, AttributeSet attrs) {

super(context, attrs);

setFocusable(true);

mPressedDrawable = getResources().getDrawable(R.drawable.ic_image_pressed);

/** 设置边距,让光晕完全覆盖图片 */

setPadding(10, 10, 10, 10);

}

@Override

protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {

super.onMeasure(widthMeasureSpec, heightMeasureSpec);

mPressedDrawable.setBounds(0, 0, getWidth(), getHeight());

}

@Override

protected void onDraw(Canvas canvas) {

super.onDraw(canvas);

if(mPressed){

mPressedDrawable.draw(canvas);

}

}

@Override

public boolean onTouchEvent(MotionEvent event) {

switch (event.getAction()) {

case MotionEvent.ACTION_DOWN:

mPressed = true;

invalidate();

break;

case MotionEvent.ACTION_UP:

case MotionEvent.ACTION_CANCEL:

mPressed = false;

invalidate();

break;

default:

break;

}

return true;

}

}

android canvas光晕绘制_为ImageView增加iphone式的光晕效果相关推荐

  1. android paint 圆角 绘制_[BOT] 一种android中实现“圆角矩形”的方法

    内容简介 文章介绍ImageView(方法也可以应用到其它View)圆角矩形(包括圆形)的一种实现方式,四个角可以分别指定为圆角.思路是利用"Xfermode + Path"来进行 ...

  2. Android Canvas 图形绘制

    在View对象上绘图 如果应用程序不需要大量的图形处理或很高的帧速率(如一个棋类游戏.Snake游戏或另外的慢动画类应用程序),那么就应该考虑创建一个定制的View组件,并且用该组件的View.onD ...

  3. Android Canvas.drawRect绘制矩形

    Android30 canvas.drawRect方法 public void drawRect(float left, float top, float right, float bottom, @ ...

  4. Android Canvas总结

    0x00 前言 在Android开发中,有时产品需求会要我们实现一个复杂的控件,如果控件不是常用的类型,这时候我们不得不写一个自定义的控件来实现. 自定义一个控件,目前一般通过继承View或者Surf ...

  5. Android 如何将Canvas上绘制的内容保存成本地图片

    效果如下图所示 保存在sd卡上的文件为 手机上显示效果为: 1>>在Manifest文件中增加相应权限 <!-- 在SDCard中创建与删除文件权限 --><uses-p ...

  6. 自定义控件之Canvas图形绘制基础练习-青春痘笑脸^_^

    对于自定义控件的意义不言而喻,所以对它的深入研究是很有必要的,前些年写过几篇关于UI效果的学习过程,但是中途比较懒一直就停滞了,而对于实际工作还是面试来说系统深入的了解自定义控件那是很有必要的,所以接 ...

  7. android canvas绘制圆角_Android自定义View撸一个渐变的温度指示器(TmepView)

    秦子帅明确目标,每天进步一点点..... 作者 |  andy 地址 |  blog.csdn.net/Andy_l1/article/details/82910061 1.概述 自定义View对需要 ...

  8. 【Android 应用开发】Canvas 精准绘制文字 ( 文本边界坐标解析 | 绘图位置 )

    文章目录 一.文本边界坐标解析 二.绘图位置 一.文本边界坐标解析 在上一篇博客 [Android 应用开发]Canvas 精准绘制文字 ( 测量文本真实边界 | 将文本中心点与给定中心点对齐 ) 中 ...

  9. arcgis飞行轨迹动画_高德地图,百度地图,arcgis地图利用canvas动画绘制圆形扩散、运动轨迹等动态效果...

    本文转发自热爱前端知识的博客   原博客地址 介绍 在ECharts中看到过这种圆形扩散效果,类似css3,刚好项目中想把它用上,but我又不想引入整个echart.js文件,更重要的是想弄明白它的原 ...

最新文章

  1. Linux内核——进程管理与调度
  2. ValueError: Program neato not found in path.
  3. excel文件直接双击打不开_实用电脑技巧excel 电脑办公技巧500招 高级电脑技巧
  4. 【渝粤教育】国家开放大学2018年秋季 0727-21T思想道德修养与法律基础 参考试题
  5. Centos出现-bash: unzip: command not found的解决办法
  6. object取值_this的原理、函数的不同调用方式this取值、以及不同环境下this的取值、函数四种调用方法...
  7. ios html 禁止下拉,ios禁止页面下拉
  8. ElasticSearch核心基础之映射
  9. 网友疯买、雷军力撑,又一家国货站起来了!
  10. list 转set_MapStruct高级用法:List和String互转
  11. 数据结构链表实验c语言程序,数据结构实验练习(—):链表实现100位数的加减法...
  12. Python对MySQL数据库的创建,增删改查操作
  13. 手机上最好用的五笔输入法_聊聊手机最好用的几个功能
  14. cxf与struts2拦截器冲突的解决方案
  15. 查找与清除线程插入式木马
  16. Linux命令之解压缩:tar、zip、rar 命令
  17. 苹果未能与恢复服务器取得联系解决
  18. 王煜全老师谈SNS创业
  19. c语言错误c1010怎么办,fatal error C1010: 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include stdafx.h...
  20. 千万不要死于无知—几条健康忠告(三)

热门文章

  1. C# Nullable Class 和NullableT Struct
  2. 一觉睡醒,ChatGPT 竟然被淘汰了?
  3. 如何通过供应商和设备ID查找未知设备驱动
  4. 曝光过度照片整理思路
  5. 【sql】sql必知必会_01
  6. docker运行yyets_docker: 存放各种docker image构建脚本或者快速启动的docker-compose文件。一处构建,处处可用,方便健忘人士和减轻国内开发人员的负担。...
  7. Heartbleed:更新-受影响的在线服务情况
  8. echarts柱状图x轴文字换行_ECharts xAxis配置 坐标轴刻度标签的富文本样式
  9. 中M22春C、Java入门练习-7.1
  10. 无需修复启动硬盘的ESP引导分区,使用Ghost工具备份和还原Windows系统的解决方案(原创)