XamarinAndroid组件教程设置自定义子元素动画(一)
如果在RecyclerViewAnimators.Animators中没有所需要的动画效果,就可以自定义一个。此时,需要让自定义的动画继承BaseItemAnimator抽象类。
【示例1-2】下面以RecylerViewAnimatorsItemAnimator项目为基础,在RecylerView子元素进行添加/删除操作时,实现透明动画效果。具体的操作步骤如下:
(1)创建一个类文件,命名为AlphaAnimator。
(2)打开AlphaAnimator.cs文件,实现透明度动画。代码如下:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using Android.App; using Android.Content; using Android.OS; using Android.Runtime; using Android.Support.V4.View; using Android.Support.V7.Widget; using Android.Views; using Android.Widget; using RecyclerViewAnimators.Animators; namespace RecylerViewAnimatorsItemAnimator { public class AlphaAnimator : BaseItemAnimator { public AlphaAnimator() { } //添加子元素时调用的动画 protected override void AnimateAddImpl(RecyclerView.ViewHolder holder) { ViewCompat.Animate(holder.ItemView) .Alpha(1) .SetDuration(AddDuration) .Start(); } //删除子元素时调用的动画 protected override void AnimateRemoveImpl(RecyclerView.ViewHolder holder) { ViewCompat.Animate(holder.ItemView) .SetDuration(RemoveDuration) .Alpha(0) .Start(); } } }