ITPub博客

首页 > 移动开发 > ANDROID > XamarinAndroid组件教程RecylerView自定义适配器动画

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

原创 ANDROID 作者:大学霸 时间:2018-06-19 10:16:49 0 删除 编辑

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

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

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

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

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


点击(此处)折叠或打开

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using Android.Animation;
  6. using Android.App;
  7. using Android.Content;
  8. using Android.OS;
  9. using Android.Runtime;
  10. using Android.Support.V7.Widget;
  11. using Android.Views;
  12. using Android.Widget;
  13. using RecyclerViewAnimators.Adapters;
  14. namespace RecylerViewAnimatorsAdapter
  15. {
  16.     public class RotationAdapter : AnimationAdapter
  17.     {
  18.         public RotationAdapter(RecyclerView.Adapter adapter) : base(adapter)
  19.         {
  20.         }
  21.         protected override Animator[] GetAnimators(View view)
  22.         {
  23.             return new Animator[] { ObjectAnimator.OfFloat(view, "rotation", 0, 180, 0) };
  24.         }
  25.     }
  26. }

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


点击(此处)折叠或打开

  1. ……
  2. using RecyclerViewAnimators.Adapters;
  3. using Android.Views.Animations;
  4. namespace RecylerViewAnimatorsAdapter
  5. {
  6.     [Activity(Label = "RecylerViewAnimatorsAdapter", MainLauncher = true, Icon = "@mipmap/icon")]
  7.     public class MainActivity : Activity
  8.     {
  9.         ……
  10.         protected override void OnCreate(Bundle savedInstanceState)
  11.         {
  12.             base.OnCreate(savedInstanceState);
  13.             SetContentView(Resource.Layout.Main);
  14.             ……
  15.             var adapter = new DataAdapter(this, data.ToList());
  16.             var rotationAdapter = new RotationAdapter(adapter);
  17.             recyclerView.SetAdapter(rotationAdapter);
  18.         }
  19.     }
  20. }

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

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29597077/viewspace-2156320/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2014-04-09

  • 博文量
    1047
  • 访问量
    990333