android-列表中不同图像的动画

android-列表中不同图像的动画,第1张

概述我有不同的图像,例如100张左右.现在,我想对它们应用动画.我希望我的ImageView在指定的时间间隔后获取每个图像,但是当发生图像更改时,每个图像应为FadeIn或FadeOut.我将图像放在@drawable/[list_of_images].xml文件中,如下所示:<animation-listxmlns:android="http://schemas

我有不同的图像,例如100张左右.现在,我想对它们应用动画.我希望我的ImageVIEw在指定的时间间隔后获取每个图像,但是当发生图像更改时,每个图像应为FadeIn或FadeOut.我将图像放在@ drawable / [List_of_images] .xml文件中,如下所示:

<animation-List xmlns:androID="http://schemas.androID.com/apk/res/androID"androID:oneshot="false"><item androID:drawable="@drawable/a1" androID:duration="1000"/><item androID:drawable="@drawable/a2" androID:duration="2000"/><item androID:drawable="@drawable/a3" androID:duration="3000"/><item androID:drawable="@drawable/a4" androID:duration="500"/>

然后我可以根据它们在ImageVIEw中的时间间隔成功更改这些图像,方法是:

public class AnimTest extends Activity{   AnimationDrawable myAnim;   public voID onCreate(Bundle savedInstanceState)   {       super.onCreate(savedInstanceState);       setContentVIEw(R.layout.anim);       ImageVIEw myIV = (ImageVIEw) findVIEwByID(R.ID.image_vIEw);       myIV.setBackgroundResource(R.drawable.List_of_images.xml);       myAnim = (AnimationDrawable) myIV.getBackground();   }  public boolean ontouchEvent(MotionEvent event)  {      if (event.getAction() == MotionEvent.ACTION_DOWN)      {         myAnim.start();         return true;      }     return super.ontouchEvent(event);  }

}

问题是我无法弄清楚如何在每张图像上应用淡入淡出效果,而上面的动画却改变了它们.我可以在整个图像列表上应用淡入淡出动画,但不能在每个图像上都这样做.我要朝正确的方向实现此功能吗?如果没有,请引导我走正确的道路.

问候,
卡瓦尔

解决方法:

您可以尝试将Animation上的重复计数设置为imagecount-1,然后将AnimationListener添加到动画中,从而在每次重复和开始时更改ImageVIEw的背景图像.

这是一个使用RoboGuice的简单示例(它使代码更清晰,但对您的问题没有任何影响):https://github.com/bostonandroid/batgirl/blob/master/src/org/roboguice/batgirl/Batgirl.java

public class Batgirl extends RoboActivity {    // VIEws    @InjectVIEw(R.ID.content) linearLayout linearLayout;    // Resources    @InjectResource(R.anim.spin) Animation spin;    @InjectResource(R.integer.max_punches) int MAX_PUNCHES;    // Other Injections    @Inject ChangeTextAnimationListener changeTextAnimationListener;    @OverrIDe    protected voID onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentVIEw(R.layout.main);        // Set up the animation        linearLayout.setAnimation(spin);        spin.setAnimationListener(changeTextAnimationListener);        spin.setRepeatCount(MAX_PUNCHES - 1);        spin.start();    }}/** * A simple animation Listener that swaps out the text between repeats. */class ChangeTextAnimationListener implements AnimationListener {    @InjectVIEw(R.ID.hello) TextVIEw hellovIEw;    @Inject Fist fist;    @Inject PackageInfo info;    public voID onAnimationRepeat(Animation animation) {        onAnimationStart(animation);    }    public voID onAnimationStart(Animation animation) {        hellovIEw.setText( getNextTextString() );  // getNextTextString() not shown in this example    }    public voID onAnimationEnd(Animation animation) {                }}
总结

以上是内存溢出为你收集整理的android-列表中不同图像的动画全部内容,希望文章能够帮你解决android-列表中不同图像的动画所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1068916.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存