我想用 TransitionDrawable 类制作它,但它需要一个单独的文件 transition.xml。在那里我定义了我要更改的图像。
我需要用 Java 代码定义它们,因为我也不知道要更改哪些图像。我有很多图像,但我不小心只得到了两张图像,它们之间会发生变化。我能做些什么?也许我需要另一个类。
带有 transition.xml 的代码:
public class TransitionActivity extends Activity
implements OnClickListener {
private ImageView image;
private TransitionDrawable mTransition;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
image = (ImageView)findViewById(R.id.image);
image.setOnClickListener(this);
Resources res = this.getResources();
mTransition = (TransitionDrawable)res.getDrawable(R.drawable.transition);
}
@Override
public void onClick(View v) {
image.setImageDrawable(mTransition);
mTransition.startTransition(1000);
}
}
最佳答案
您可以通过编程方式创建一个 TransitionDrawable
使用类' constructor .您不需要从 XML 中获取它。这使您可以灵活地动态分配在其间转换的 Drawable。
// drawable1 and drawable2 can be dynamically assigned in your Java code
Drawables[] drawables = new Drawables[] {
drawable1, drawable2
};
mTransition = new TransitionDrawable(drawables);
关于android - 如何从 Java 代码为 ImageView 制作图像变化动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45950820/