【问题标题】:android gif animation and buttonandroid gif 动画和按钮
【发布时间】:2015-01-27 07:04:42
【问题描述】:

我想创建一个动画 img,所以当我点击一个按钮时,我可以看到动画。 在我的项目中,我刚刚创建了按钮和图像。在drawable文件夹中,我放了三个png图像和一个frame_animation.xml,我设置了图像和持续时间。在java文件中,我把这段代码:

 button1.setOnClickListener(new View.OnClickListener(){

        public void onClick(View v){
            ImageView img = (ImageView)findViewById(R.id.imageView1);
            img.setBackgroundResource(R.drawable.frame_animation);

            myFrameAnimation=(AnimationDrawable) img.getBackground();
        }
    });

但是当我运行应用程序时,动画不起作用(我只能看到一张图像,而不是所有三张图像)

【问题讨论】:

  • ...这与 动画 GIFs 有什么关系?
  • 因为我想放一个 GIF 文件。为此,我创建了一个 frame_animation xml,在其中放置了所有提取的帧。然后我修复了java代码,但它不起作用。
  • 动画 GIF 与 Android 帧动画 不同。它是一个文件,而不是不同的文件(每帧 1 个 + 1 个作为动画容器)。而且它不需要播放 Java 代码(也就是说,您可以“按原样”在 Web 浏览器中播放它)。这是Android方式:developer.android.com/guide/topics/resources/…

标签: android animation gif


【解决方案1】:

你还必须START动画,设置资源是不够的。 在您的情况下,只需添加 myFrameAnimation.start();

完整示例:

button1.setOnClickListener(new View.OnClickListener(){

    public void onClick(View v){
        ImageView img = (ImageView)findViewById(R.id.imageView1);
        img.setBackgroundResource(R.drawable.frame_animation);

        myFrameAnimation=(AnimationDrawable) img.getBackground();
        myFrameAnimation.start();
    }
});

似乎您只是不小心把它漏掉了,因为您已经从资源中获得了AnimationDrawable。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-07-12
    • 1970-01-01
    • 2015-12-14
    • 1970-01-01
    • 2010-10-23
    • 2017-01-18
    • 1970-01-01
    • 2012-01-05
    相关资源
    最近更新 更多