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();
-
}
-
}
-
}
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29597077/viewspace-2154960/
,如需转载,请注明出处,否则将追究法律责任。