如果您在Android上使用过Google+应用,则必须注意到对帖子的评论是动画的,以便在每个ListView项目上使用 fadeIn和fadeOut 动画逐个显示评论。
我希望在每个ListView项目中为TextView等某些视图实现此类动画。
我可以实现fadeIn和fadeOut动画部分,但问题是我将动画代码放在哪里为每个充气的ListView项目独立工作。
任何帮助将不胜感激。提前致谢。
答案 0 :(得分:1)
请使用BaseAdapter
并在您的getView()
方法中添加必要的动画代码。
首次夸大视图时,只需夸大视图并启动动画即可。 (提示 - 当convertView == null
)
使用 ViewHolder 模式唯一地保存单个列表项的每个元素,并在每个列表项中开始动画,不需要任何View
。
要开始制作动画,请使用XML创建动画并以此方式启动动画
Animation anim = AnimationUtils.loadAnimation(this, R.anim.slide_up);
anim.setInterpolator(new DecelerateInterpolator());
anim.setDuration(500);
anim.setStartOffset(100);
anim.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
progress.setVisibility(View.INVISIBLE);
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});
progress.startAnimation(anim);
为了让您了解如何使用XML创建动画,
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha
android:duration="200"
android:fromAlpha="1.0"
android:toAlpha="0.0" />
<translate
android:duration="200"
android:fromYDelta="0%p"
android:toYDelta="5%p" />
</set>
您可以使用动画集将多个动画组合在一起并立即播放。
请更详细地浏览动画API ,您会找到有用的方法,例如setRepeatMode()
和setRepeatCount()
,它们可以帮助您获得所需的结果。
此外,您不需要两个单独的TextView,您可以使用一个。只需正确使用动画监听器。
希望它有所帮助。