XamarinAndroid组件教程设置自定义子元素动画(一)

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

        }

    }

}

  

posted @ 2018-05-23 11:09  大学霸  阅读(167)  评论(0编辑  收藏  举报