【问题标题】:android animation glow effect on imageviewimageview上的android动画发光效果
【发布时间】:2018-09-06 12:41:46
【问题描述】:

我正在开发一个应用程序,在我的主页中,我需要为徽标 (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;
}
}

此代码用于我想要动画的触摸事件

【问题讨论】:

标签: android


【解决方案1】:

对于发光效果检查 Glow effect 和对于

对于闪烁类型的动画,使用它可以根据您的要求更改 Reapeatcount 和 Duration

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

【讨论】:

  • 我想要发光效果而不是闪烁效果请帮帮我
  • 它用于那个网格视图中的触摸事件,我想要动画,谢谢
  • 谢谢,我也在找一样的
  • 无论如何你可以暂停眨眼并重新开始吗?
  • 方法 startAnimation(blinkanimation) 有效,但 setAnimation 无效。
【解决方案2】:

很简单

制作两组图像,一组是浅色的,另一组是晴天(亮)

然后您可以使用 AlphaAnimation 为图像设置动画。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-25
    • 2018-05-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多