我正在使用语音识别应用程序,我想在录制时让我的播放/停止按钮“脉冲”.像这样的东西:
我试图制作一个ScaleAnimation,按钮增长,但当然,它会使所有按钮增长.
public static ObjectAnimator pulseAnimation(ImageVIEw target){ ObjectAnimator scaleDown = ObjectAnimator.ofPropertyValuesHolder(target, PropertyValuesHolder.offloat("scaleX", 1.1f), PropertyValuesHolder.offloat("scaleY", 1.1f)); scaleDown.setDuration(310); scaleDown.setRepeatCount(ObjectAnimator.INFINITE); scaleDown.setRepeatMode(ObjectAnimator.REVERSE); return scaleDown;}
所以这个想法是实现类似的东西,但只是在实际按钮后面有一个@R_403_5997@.我想知道是否可以使用@R_403_5997@动画或其他东西在我的按钮后面添加第二个“@R_403_5997@ button”以使其增长并实现此效果.
解决方法:
最后我找到了解决方案!我重写了onDraw方法并为我的按钮画了第一个圆圈,当我的布尔值为真时.我用@R_403_5997@作为背景画第二个圆圈.产生脉动效果:
@OverrIDeprotected voID onDraw(Canvas canvas) { int w = getMeasureDWIDth(); int h = getMeasuredHeight(); mCirclePaint = new Paint(Paint.ANTI_AliAS_FLAG); mCirclePaint.setcolor(mcolor); mBackgroundPaint = new Paint(Paint.ANTI_AliAS_FLAG); mBackgroundPaint.setcolor(Util.adjust@R_403_5997@(mcolor, 0.4f)); //Draw circle canvas.drawCircle(w/2, h/2, MIN_RADIUS_VALUE , mCirclePaint); if (mAnimationOn) { if (mRadius >= MAX_RADIUS_VALUE) mPaintGoBack = true; else if(mRadius <= MIN_RADIUS_VALUE) mPaintGoBack = false; //Draw pulsating shadow canvas.drawCircle(w / 2, h / 2, mRadius, mBackgroundPaint); mRadius = mPaintGoBack ? (mRadius - 0.5f) : (mRadius + 0.5f); invalIDate(); } super.onDraw(canvas);} public voID animatebutton(boolean animate){ if (!animate) mRadius = MIN_RADIUS_VALUE; mAnimationOn = animate; invalIDate();}
总结 以上是内存溢出为你收集整理的Android中的脉动按钮动画全部内容,希望文章能够帮你解决Android中的脉动按钮动画所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)