android - 如何从 Java 代码为 ImageView 制作图像变化动画

标签 android android-animation

我想用 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/

相关文章:

android - 如何直接从我的 Android 应用程序打开 Google Play 商店?

java - 是否可以删除 Android 自定义对话框的框架?

java - LibGdx 复制 Actor 的正确方法是什么?

android - 现有库可重现 Foursquare android 应用程序的放大 imageView 效果?

android - android中图像从中心到顶部的翻译

android - 单击 Android 中的 EditText 上下移动 View

Android - 编辑库中的文本在被(长)点击时显示奇怪的行为

java - android SqLite AutoCompleteTextView

Android PopupWindow 动画不工作

android-animation - 如何沿 x 轴旋转 View