如何在一个imageview中为每次点击调用不同的可绘制动画?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在一个imageview中为每次点击调用不同的可绘制动画?相关的知识,希望对你有一定的参考价值。

我有10个图像文件。我想按照1-2,2-3,3-4 ...... 1-2,2-3点击imageview时按顺序播放我的照片...但是当我点击imageview时,只有第一个xml文件正在运行。请帮帮我

    imageView=(ImageView)findViewById(R.id.imageView);
    imageView.setBackgroundResource(R.drawable.animationtesbih);
    imageView.setClickable(true);

    animation=(AnimationDrawable) imageView.getBackground();

    imageView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

             animation=(AnimationDrawable) imageView.getBackground();
             animation.start();

             imageView.setBackgroundResource(R.drawable.a1);
             imageView.setBackgroundResource(R.drawable.a2);

        }
    });

这里是我的xml名称a1

    <?xml version="1.0" encoding="utf-8"?>
    <animation-list 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:oneshot="true">
    <item android:drawable="@drawable/t2" android:duration="70"/>
    <item android:drawable="@drawable/t3" android:duration="70"/>

   </animation-list>

这里是其他xml文件名animationtesbih

   <?xml version="1.0" encoding="utf-8"?>
   <animation-list 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:oneshot="true">
   <item android:drawable="@drawable/t1" android:duration="70"/>
   <item android:drawable="@drawable/t2" android:duration="70"/>
</animation-list>

其他xml名称a2

    <animation-list 
     xmlns:android="http://schemas.android.com/apk/res/android" 
    android:oneshot="true">
    <item android:drawable="@drawable/t3" android:duration="70"/>
    <item android:drawable="@drawable/t4" android:duration="70"/>

   </animation-list>
答案

试试这个:

animation=(AnimationDrawable) imageView.getBackground();

imageView.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {

         animation=(AnimationDrawable) imageView.getBackground();

         animation.start();

         imageView.setBackgroundResource(R.drawable.a1);

    }
});

以上是关于如何在一个imageview中为每次点击调用不同的可绘制动画?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 ScrollView 中为 ImageView 设置自动布局约束?

如何在recyclerview android中的single_row_item的每个视图(imageView,textView)上添加不同的点击事件?

如何在特定的imageView上上传特定的图像点击来自android中的画廊和相机

如何在一个具有不同参数的连续调用两次的javascript中为函数添加回调?

如何在android中为按钮添加边框[重复]

如何使用 laravel 在引导模式中为每个 id 获取动态数据?