Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

android animation glow effect on imageview

Tags:

android

I am working on a application, where in my home page i need to give glowing and fading effect animation to a logo (imageview) i tried a lot and could not find how to give glow effect animation and i know glow effect for onclick event please help me with this issue Thanks in advance

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;
}
}

this code is for touch event i want animation

like image 827
Thiru VT Avatar asked Jun 21 '12 04:06

Thiru VT


2 Answers

For Glow effect check Glow effect and for

For blink type of animation use this it works you have to change Reapeatcount and Duration accroding to your requirement

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);

after use as given below

imageview.startAnimation(blinkanimation);  or imageview.setAnimation(blinkanimation);
like image 200
Khan Avatar answered Nov 02 '22 04:11

Khan


Its simple

Make 2 sets of images one is light and another one will be sunny(Bright)

Then you can use an AlphaAnimation to animate the image.

like image 36
Vipul Avatar answered Nov 02 '22 03:11

Vipul