gpt4 book ai didi

imageview上的android动画发光效果

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:23:00 25 4
gpt4 key购买 nike

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

关于imageview上的android动画发光效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11131576/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com