Android 视图的形状变换

Android 视图的形状变换,android,android-animation,transformation,Android,Android Animation,Transformation,我想创建视图形状的变换动画。例如,将矩形更改为椭圆形。我尝试用与彩色动画相同的方法进行此操作: ColorDrawable[] color = {new ColorDrawable(Color.RED), new ColorDrawable(Color.BLUE), new ColorDrawable(Color.RED)}; TransitionDrawable drawable = new TransitionDrawable(color); drawable.startTransi

我想创建
视图
形状的变换动画。例如,将
矩形
更改为
椭圆形
。我尝试用与彩色动画相同的方法进行此操作:

ColorDrawable[] color = {new ColorDrawable(Color.RED), new ColorDrawable(Color.BLUE), new ColorDrawable(Color.RED)};
TransitionDrawable drawable = new TransitionDrawable(color);
    drawable.startTransition(1000);
    image.setBackground(drawable);
但是当我尝试使用
ShapeDrawable[]
时,我无法进行形状转换,但是
imageView
变黑了

 float[] outerR = new float[] {4, 4, 4, 4, 4, 4, 4, 4};
    ShapeDrawable oval = new ShapeDrawable(new OvalShape());
    ShapeDrawable rect = new ShapeDrawable(new RoundRectShape(outerR, null, null));
    rect.setBounds(0,0,120,120);
    oval.setBounds(0,0,120,120);
    ShapeDrawable [] draws = {rect, oval};

    TransitionDrawable drawable = new TransitionDrawable(draws);
    drawable.startTransition(1000);
    image.setBackground(drawable);

那么,Android中有没有任何编程方法可以平滑地转换(更改)
视图的形状?

您可能想尝试Android.View.ViewAnimationUtils,但它只在api 19以上工作