如何在两个9个修补的图像文件之间设置动画?我有两个不同形状的9个修补图像文件,我希望随着时间从一个图像到下一个图像进行动画制作。我知道使用drawables的方法,我认为会适用,但是,我收到了一个转换错误
android.graphics.drawable.NinePatchDrawable无法强制转换为 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);
没有结果。动画不起作用。
答案 0 :(得分:0)
对于遇到此问题的其他人,原因是因为xml drawable未设置为背景。
添加以下行解决了投射问题。
mAnimateBgView.setBackground(getResources().getDrawable(R.drawable.anim_bg));