动画饼图作为TextView的背景从一个状态到另一个状态

时间:2016-09-07 15:40:25

标签: android background android-animation textview android-shape

我将android中TextView的背景设置为饼图。我使用LayerDrawable ArcShape(s)来执行此操作并将其设置为背景。这是代码:

final ShapeDrawable arcGreen = new ShapeDrawable(new ArcShape(-90, correctAngle));
arcGreen.getPaint().setColor(ContextCompat.getColor(this, R.color.feedback_score_3));

final ShapeDrawable arcRed = new ShapeDrawable(new ArcShape(-90 + correctAngle, 360 - correctAngle));
arcRed.getPaint().setColor(ContextCompat.getColor(this, R.color.feedback_score_1));

final Drawable[] layer = {arcGreen, arcRed, mask};
final LayerDrawable ld = new LayerDrawable(layer);

mSvaraLayout.getChildAt(i).setBackground(ld);

现在,我想要做的是在correctAngle的值发生变化时为此背景设置动画。我看到的一个选项是使用ValueAnimator并从初始值转到新correctValue,每次在onAnimationUpdate()回调中我创建一个新的LayerDrawable对象使用更改的值并将其设置为背景。其他方法可能是首先在背景中获取所有Drawables(s ShapeDrawable(<ArcShape>)对象,然后设置弧的角度。但我想没有办法这样做有没有其他方法可以达到这个目的?

0 个答案:

没有答案