我有不同的图像,例如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-列表中不同图像的动画所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)