androidview动画发光效果在imageview上

我正在开发一个应用程序,在我的主页上,我需要给徽标(imageview)提供发光和褪色效果动画我尝试了很多,但是找不到如何给出发光效果动画,我知道onclick事件的发光效果请帮我解决这个问题
提前致谢
public class CustomView extends ImageView{
public CustomView(Context context,AttributeSet attrs,int defStyle) {
    super(context,attrs,defStyle);
}
public CustomView(Context context,AttributeSet attrs) {
    super(context,attrs);
}
public CustomView(Context context) {
    super(context);
}
boolean drawGlow = false;
//this is the pixel coordinates of the screen
float glowX = 0;
float glowY = 0;
//this is the radius of the circle we are drawing
float radius = 20;
//this is the paint object which specifies the color and alpha level 
//of the circle we draw
Paint paint = new Paint();
{
    paint.setAntiAlias(true);
    paint.setColor(Color.WHITE);
    paint.setAlpha(50);
};

@Override
public void draw(Canvas canvas){
    super.draw(canvas);
    if(drawGlow)
        canvas.drawCircle(glowX,glowY,radius,paint);
}
@Override
public boolean onTouchEvent(MotionEvent event){
    if(event.getAction() == MotionEvent.ACTION_DOWN){
        drawGlow = true;
    }else if(event.getAction() == MotionEvent.ACTION_UP)
        drawGlow = false;

    glowX = event.getX();
    glowY = event.getY();
    this.invalidate();
    return true;
}
}

这段代码是我希望动画的触摸事件

解决方法

对于发光效果检查 Glow effect

对于闪烁类型的动画使用它,你必须改变Reapeatcount和持续时间根据您的要求

AlphaAnimation  blinkanimation= new AlphaAnimation(1,0); // Change alpha from fully visible to invisible
blinkanimation.setDuration(300); // duration - half a second
blinkanimation.setInterpolator(new LinearInterpolator()); // do not alter animation rate
blinkanimation.setRepeatCount(3); // Repeat animation infinitely
blinkanimation.setRepeatMode(Animation.REVERSE);

使用后如下所示

imageview.startAnimation(blinkanimation);  or imageview.setAnimation(blinkanimation);

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...