android 自定义圆怎么动态设置圆的半径

android 自定义圆怎么动态设置圆的半径,第1张

使用ObjectAnimation,或者ValueAnimation都可以实现这个效果

ObjectAnimation可以动态设置控件有get与set方法的属性进行改变,给你的圆添加一个半径的属性,并添加get与set。

参考

//通过AnimatiorSet来设计同步执行的多个属性动画

ObjectAnimator animator1 = ObjectAnimator.ofFloat(imageView, "translationX", 0F, 360F)//X轴平移旋转

ObjectAnimator animator2 = ObjectAnimator.ofFloat(imageView, "translationY", 0F, 360F)//Y轴平移旋转

ObjectAnimator animator3 = ObjectAnimator.ofFloat(imageView, "rotation", 0F, 360F)//360度旋转

AnimatorSet set = new AnimatorSet()

//set.playSequentially(animator1, animator2, animator3)//分步执行

//set.playTogether(animator1, animator2, animator3)//同步执行

//属性动画的执行顺序控制

// 先同步执行动画animator2和animator3,然后再执行animator1

set.play(animator3).with(animator1)

set.play(animator2).after(animator3)

set.setDuration(1000)

set.start()

2.通过ValueAnimation来动态改变圆半径的属性

参考

public void onClick(View view) {

final ValueAnimator animator = ValueAnimator.ofInt(1, 100)

animator.setDuration(5000)

animator.setInterpolator(new LinearInterpolator())//线性效果变化

animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {

@Override

public void onAnimationUpdate(ValueAnimator valueAnimator) {

Integer integer = (Integer) animator.getAnimatedValue()

button.setText("" + integer)

}

})

animator.start()

}

imageview的属性中可以加入background来定义它的背景,将背景定义成一个圆形的drawable就可以了。

另一种办法,也可以自己定义一个view来显示圆形的图片,你可以参考http://blog.csdn.net/alan_biao/article/details/17379925来进行设计。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/7987750.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存