XamarinAndroid组件教程RecylerView自定义适配器动画
2023-09-11 14:17:01 时间
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", 0, 180, 0) }; } } }
(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一样。当滚动子元素后,会看到动画效果。
相关文章
- 剑指 offer 面试题精选图解 03 . 数组中重复的数字(超详细超容易理解的动画解法!!!)...
- GPU Skinning 加速骨骼动画
- cocos2dx 几个精灵依照顺序播放动画解决方法
- Flutter的AnimatedDefaultTextStyle实现文本样式的动画过渡切换效果
- Google Earth Engine——印度洋气旋动态图案例分析(动画)
- [UWP]使用SpringAnimation创建有趣的动画
- css3 animation 实现环形路径平移动画
- XamarinAndroid组件教程RecylerView适配器设置动画
- XamarinAndroid组件教程RecylerView适配器使用动画
- XamarinAndroid组件教程设置自定义子元素动画(二)
- 视图属性+对象动画组件ViewPropertyObjectAnimator
- XamarinAndroid组件教程设置动画的设置插值器
- XamarinAndroid组件教程RecylerView动画组件使用动画(3)
- RecylerView动画组件RecylerViewAnimators
- SwiftUI 动画组件之Lottie小型高质量交互式的开源动画文件格式
- SwiftUI WWDC21 新绘图和动画组件之 03 Geometry 新增两个Edge
- 有趣的HTML实例(三) 加载页面动画