如何在两个不同的 9 补丁图像之间制作动画?
How to animate between two different 9-patch images?
如何在两个 9 补丁图像文件之间制作动画?我有两个不同形状的 9 补丁图像文件,我想随着时间的推移从一个图像到下一个图像进行动画处理。我知道一种使用我认为适用的可绘制对象的方法,但是,我收到一个转换错误
android.graphics.drawable.NinePatchDrawable cannot be cast to
android.graphics.drawable.TransitionDrawable
这是我的实现。我创建了一个引用我的两个 9 补丁图像的可绘制文件。
<?xml version="1.0" encoding="UTF-8"?>
<transition xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/bg_drawer_blue" />
<item android:drawable="@drawable/bg_drawer_white" />
</transition>
然后我试着做一个动画
TransitionDrawable transition = (TransitionDrawable) mAnimateBgView.getBackground();
transition.startTransition(10000);
我也试过了
TransitionDrawable td = new TransitionDrawable(new Drawable[] {
getResources().getDrawable(R.drawable.bg_drawer_blue),
getResources().getDrawable(R.drawable.bg_drawer_white)
});
d.startTransition(1000);
没有结果。动画不工作。
对于其他 运行 问题,原因是 xml 可绘制对象未设置为背景。
添加以下行解决了投射问题。
mAnimateBgView.setBackground(getResources().getDrawable(R.drawable.anim_bg));
如何在两个 9 补丁图像文件之间制作动画?我有两个不同形状的 9 补丁图像文件,我想随着时间的推移从一个图像到下一个图像进行动画处理。我知道一种使用我认为适用的可绘制对象的方法,但是,我收到一个转换错误
android.graphics.drawable.NinePatchDrawable cannot be cast to android.graphics.drawable.TransitionDrawable
这是我的实现。我创建了一个引用我的两个 9 补丁图像的可绘制文件。
<?xml version="1.0" encoding="UTF-8"?>
<transition xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/bg_drawer_blue" />
<item android:drawable="@drawable/bg_drawer_white" />
</transition>
然后我试着做一个动画
TransitionDrawable transition = (TransitionDrawable) mAnimateBgView.getBackground();
transition.startTransition(10000);
我也试过了
TransitionDrawable td = new TransitionDrawable(new Drawable[] {
getResources().getDrawable(R.drawable.bg_drawer_blue),
getResources().getDrawable(R.drawable.bg_drawer_white)
});
d.startTransition(1000);
没有结果。动画不工作。
对于其他 运行 问题,原因是 xml 可绘制对象未设置为背景。
添加以下行解决了投射问题。
mAnimateBgView.setBackground(getResources().getDrawable(R.drawable.anim_bg));