我想创建 View
形状的变换动画。例如,将 rectangle
更改为 oval
。我尝试以与彩色动画相同的方式执行此操作:
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 中是否有任何编程方式可以平滑地转换(改变形状)View
?
最佳答案
您可能想尝试 android.view.ViewAnimationUtils,但它只适用于 api 19 以上。
关于Android View 的变形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37887526/