项目地址下载:https://github.com/LiuJunb/RippleImageView

1.效果图:

2.使用方法:

  1. 在xml里使用RippleImageView自定义控件:

    xmlns:app="http://schemas.android.com/apk/res-auto"
  2. 在Activity中的使用:

    rippleImageView=(RippleImageView)findViewById(R.id.rippleImageView);//开始动画rippleImageView.startWaveAnimation();//停止动画rippleImageView.stopWaveAnimation();

3.如何将自定义控件引入到项目:

  1. 拷贝自定义控件RippleImageView

    /** * Description : * Author : liujun * Email  : liujin2son@163.com */public class RippleImageView extends RelativeLayout {    private static final int SHOW_SPACING_TIME=700;    private static final int MSG_WAVE2_ANIMATION = 1;    private static final int MSG_WAVE3_ANIMATION = 2;    private static final int IMAMGEVIEW_SIZE = 80;    /**三张波纹图片*/    private static final int SIZE =3 ;    /**动画默认循环播放时间*/    private  int show_spacing_time=SHOW_SPACING_TIME;    /**初始化动画集*/    private AnimationSet [] mAnimationSet=new AnimationSet[SIZE];    /**水波纹图片*/    private ImageView [] imgs=new ImageView[SIZE];    /**背景图片*/    private ImageView img_bg;    /**水波纹和背景图片的大小*/    private float imageViewWidth=IMAMGEVIEW_SIZE;    private float imageViewHeigth=IMAMGEVIEW_SIZE;    private Handler mHandler = new Handler() {        @Override        public void handleMessage(Message msg) {            switch (msg.what) {                case MSG_WAVE2_ANIMATION:                    imgs[MSG_WAVE2_ANIMATION].startAnimation(mAnimationSet[MSG_WAVE2_ANIMATION]);                    break;                case MSG_WAVE3_ANIMATION:                    imgs[MSG_WAVE2_ANIMATION].startAnimation(mAnimationSet[MSG_WAVE3_ANIMATION]);                    break;            }        }    };    public RippleImageView(Context context) {        super(context);        initView(context);    }    public RippleImageView(Context context, AttributeSet attrs) {        super(context, attrs);        getAttributeSet(context,attrs);        initView(context);    }    /**     * 获取xml属性     * @param context     * @param attrs     */    private void getAttributeSet(Context context, AttributeSet attrs) {        TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.custume_ripple_imageview);        show_spacing_time = typedArray.getInt(R.styleable.custume_ripple_imageview_show_spacing_time, SHOW_SPACING_TIME);        imageViewWidth = typedArray.getDimension(R.styleable.custume_ripple_imageview_imageViewWidth, IMAMGEVIEW_SIZE);        imageViewHeigth = typedArray.getDimension(R.styleable.custume_ripple_imageview_imageViewHeigth, IMAMGEVIEW_SIZE);        Log.d("TAG","show_spacing_time="+show_spacing_time+"mm imageViewWidth="+imageViewWidth+"px  imageViewHeigth="+imageViewHeigth+"px");        typedArray.recycle();    }    private void initView(Context context) {        setLayout(context);        for (int i = 0; i 

    }

  2. 拷贝自定义属性到arrts下

                
  3. 拷贝默认图片

更多相关文章

  1. android模仿微信朋友圈图片预览转场缩放动画
  2. Android的Layout --- 布局
  3. Android(安卓)动画 - ScaleAnimation 缩放动画使用(附图)
  4. Android开发常见错误及技巧
  5. 自定义ProgressBar的样式
  6. android轻量框架六__Title文字淡入和淡出
  7. Android(安卓)自定义控件圆形图案
  8. Android显示SDCARD中的图片
  9. 实现类似微信的activity切换动画

随机推荐

  1. android textview改变部分文字的颜色
  2. android软件键盘隐藏
  3. Android中Dialog中自定义EditView导致软
  4. Android回到底部和返回顶部实现
  5. 解读Android(安卓)LOG机制的实现
  6. Android 保存联系人,包括部门\职位\传
  7. 通过notification启动一个activity时,Inte
  8. [Android 开发3] android kernel 编译&加
  9. Android(安卓)Service 简介
  10. Android 常用的提示框Dialog