XamarinAndroid组件教程RecylerView自定义适配器动画

如果RecyclerViewAnimators.Adapters命名空间中没有所需要的适配器动画,开发者可以自定义动画。此时,需要让自定义的动画继承AnimationAdapter抽象类。

【示例1-4】下面以RecylerViewAnimatorsAdapter项目为基础,在RecylerView的子元素进行滚动时,实现旋转适配器动画。具体的操作步骤如下:

(1)创建一个适配器文件,命名为RotationAdapter。

(2)打开RotationAdapter.cs文件,实现旋转动画。代码如下:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using Android.Animation;

using Android.App;

using Android.Content;

using Android.OS;

using Android.Runtime;

using Android.Support.V7.Widget;

using Android.Views;

using Android.Widget;

using RecyclerViewAnimators.Adapters;

namespace RecylerViewAnimatorsAdapter

{

    public class RotationAdapter : AnimationAdapter

    {

        public RotationAdapter(RecyclerView.Adapter adapter) : base(adapter)

        {

        }

        protected override Animator[] GetAnimators(View view)

        {

            return new Animator[] { ObjectAnimator.OfFloat(view, "rotation", , , ) };

        }

    }

}

(3)打开MainActivity.cs文件,在RecylerView的子元素进行滚动时添加旋转动画。代码如下:

……

using RecyclerViewAnimators.Adapters;

using Android.Views.Animations;

namespace RecylerViewAnimatorsAdapter

{

    [Activity(Label = "RecylerViewAnimatorsAdapter", MainLauncher = true, Icon = "@mipmap/icon")]

    public class MainActivity : Activity

    {

        ……

        protected override void OnCreate(Bundle savedInstanceState)

        {

            base.OnCreate(savedInstanceState);

            SetContentView(Resource.Layout.Main);

            ……

            var adapter = new DataAdapter(this, data.ToList());

            var rotationAdapter = new RotationAdapter(adapter);

            recyclerView.SetAdapter(rotationAdapter);

        }

    }

}

运行程序后,初始状态和图1.3一样。当滚动子元素后,会看到动画效果。

XamarinAndroid组件教程RecylerView自定义适配器动画的更多相关文章

  1. XamarinAndroid组件教程RecylerView适配器设置动画示例

    XamarinAndroid组件教程RecylerView适配器设置动画示例 [示例1-3]下面将在RecylerView的子元素进行滚动时,使用适配器动画.具体的操作步骤如下: (1)创建一个名为R ...

  2. XamarinAndroid组件教程RecylerView适配器设置动画

    XamarinAndroid组件教程RecylerView适配器设置动画 本小节将讲解动画相关设置,如动画的时长.插值器以及复合动画等. 1.设置动画时长 设置动画持续的时间可以使用Animation ...

  3. XamarinAndroid组件教程RecylerView适配器使用动画

    XamarinAndroid组件教程RecylerView适配器使用动画 为RecylerView使用RecylerViewAnimators组件中提供的适配器动画,需要使用RecyclerView类 ...

  4. XamarinAndroid组件教程RecylerView适配器动画动画种类

    XamarinAndroid组件教程RecylerView适配器动画动画种类 本节将讲解RecylerView适配器动画,其中包含动画种类和如何使用动画. 动画种类 RecylerViewAnimat ...

  5. XamarinAndroid组件教程RecylerView动画组件使用动画(2)

    XamarinAndroid组件教程RecylerView动画组件使用动画(2) 如果开发者要为RecylerView的子元素添加动画效果,需要使用RecyclerView类中的SetItemAnim ...

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

    XamarinAndroid组件教程设置自定义子元素动画(二) (9)打开MainActivity.cs文件,为RecylerView的子元素设置添加和删除时的透明动画效果.代码如下: …… usin ...

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

    XamarinAndroid组件教程设置自定义子元素动画(一) 如果在RecyclerViewAnimators.Animators中没有所需要的动画效果,就可以自定义一个.此时,需要让自定义的动画继 ...

  8. XamarinAndroid组件教程RecylerView动画组件使用动画(3)

    XamarinAndroid组件教程RecylerView动画组件使用动画(3) (8)打开Main.axml文件,构建主界面.代码如下: <?xml version="1.0&quo ...

  9. XamarinAndroid组件教程设置动画的设置插值器

    XamarinAndroid组件教程设置动画的设置插值器 为动画设置插值器,可以使用BaseItemAnimator抽象类中的SetInterpolator()方法,其语法形式如下: public v ...

随机推荐

  1. 浅谈FastJson的TypeReference用法

    简单描述:看同事提交的代码,发现有一行代码 似曾相识,但却朦朦胧胧,ε=(´ο`*)))唉很明显自己没掌握呗,于是乎,就百度了一下 干货:对进行泛型的反序列化,使用TypeReference可以明确的 ...

  2. animate方法使用总结

    <!DOCTYPE html><html lang="en" class="loading"><head> <meta ...

  3. easyui合并多个单元格

    $('#table-v2').datagrid({ url: './data/am/data1_table.json', pagination: true, //显示分页 fit: true, //d ...

  4. 迅速上手:使用taro构建微信小程序基础教程

    前言 由于微信小程序在开发上不能安装npm依赖,和开发流程上也饱受诟病:Taro 是由京东·凹凸实验室(aotu.io)倾力打造的 多端开发解决方案,它的api基于react,在本篇文章中主要介绍了使 ...

  5. LVS(IPVS)了解

    从来都只是看文章,现在手工作一下. 参考URL: https://blog.csdn.net/langyue919/article/details/80935197 https://www.cnblo ...

  6. centos6.x完全禁用IPv6的方法

    https://blog.csdn.net/prettyshuang/article/details/51731890

  7. javascript 对象(四)

    一.对象概述 对象中包含一系列的属性,这些属性是无序的.每个属性都有一个字符串key和对应的value. var obj={x:1,y:2}; obj.x; obj.y; 1.为什么属性的key必须是 ...

  8. Principles and strategies for mathematics study

    Make mathematics study a habit with dogged perseverance Don't build mansion on top of loose sand. Co ...

  9. [转]教你十分钟下载并破解IntelliJ IDEA(2017)

    来源:http://www.itwendao.com/article/detail/400687.html 温馨提示:IntelliJ IDEA(2017)需要安装JDK8以上才能运行 如果你是JDK ...

  10. 使用htpasswd及nginx auth模块对指定页面进行登录验证

    某些时候,作为运维挂你人员会部署一些工具用于使用外网对内部服务器进行某些管理,比如phpmyadmin.gateone堡垒机等工具.但是这些软件 一旦部署之后,所有人都可以访问到我们的登录页面似乎并不 ...