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(); } }}