github:  https://github.com/brookshi/LLMAnimator ,欢迎star/fork

之前做android的时候需要给应用加些动画效果,在github上找到这个库:

https://github.com/daimajia/AndroidViewAnimations,用起来挺方便,效果也不错。

现在做uwp,想要加些动画就想到这个库,于是开发了LLMAnimator,算是上面android库的uwp移植版本。

先看效果:

用起来也很简单:

 Animator.Use(AnimationType.Bounce)  //使用哪种动画
.SetDelay(TimeSpan.FromSeconds()) //延迟执行,默认立即执行
.SetDuration(TimeSpan.FromMilliseconds()) //动画播放时间,每个动画都有自己的默认时间,一般不需要设置
.SetRepeatBehavior(new RepeatBehavior()) //重复次数,默认1次
.PlayOn(target); //动画目标 Animator.Use(AnimationType.Bounce).PlayOn(target); // 一般这样就好了,简单

动画类型都在AnimationType里面,有63种,算是包括各种常用的了,免去了自己创建动画一个一个写storyboard的痛苦。

 public enum AnimationType
{
Bounce,
Flash,
Pulse,
RubberBand,
Shake,
StandUp,
Swing,
Tada,
Wave,
Wobble, BounceIn,
BounceInDown,
BounceInUp,
BounceInLeft,
BounceInRight, FadeIn,
FadeInDown,
FadeInUp,
FadeInLeft,
FadeInRight, FadeOut,
FadeOutDown,
FadeOutUp,
FadeOutLeft,
FadeOutRight, FlipInX,
FlipInY, FlipOutX,
FlipOutY, RotateIn,
RotateInDownLeft,
RotateInDownRight,
RotateInUpLeft,
RotateInUpRight, RotateOut,
RotateOutDownLeft,
RotateOutDownRight,
RotateOutUpLeft,
RotateOutUpRight, SlideInDown,
SlideInUp,
SlideInLeft,
SlideInRight, SlideOutDown,
SlideOutUp,
SlideOutLeft,
SlideOutRight, ZoomIn,
ZoomInDown,
ZoomInUp,
ZoomInLeft,
ZoomInRight, ZoomOut,
ZoomOutDown,
ZoomOutUp,
ZoomOutLeft,
ZoomOutRight, Hinge,
RollIn,
RollOut,
DropOut,
Landing,
TakingOff,
}

如果有其他动画需求,也可以留言。

实现也很简单,以Bounce为例:

 public class BounceAnimation : AnimationBase
{
public BounceAnimation()
{
Duration = TimeSpan.FromMilliseconds();
} public override IAnimation PlayOn(UIElement target, Action continueWith)
{
var transform = Utils.PrepareTransform(target, typeof(CompositeTransform)); var storyboard = PrepareStoryboard(continueWith); AddAnimationToStoryboard(storyboard, transform, CreateAnimation(), "TranslateY"); storyboard.Begin(); return this;
} Timeline CreateAnimation()
{
DoubleAnimationUsingKeyFrames frames = new DoubleAnimationUsingKeyFrames();
var firstTimeSpan = TimeSpan.FromMilliseconds(Duration.TotalMilliseconds / ); frames.KeyFrames.Add(new EasingDoubleKeyFrame()
{
EasingFunction = new SineEase()
{
EasingMode = EasingMode.EaseIn
},
KeyTime = KeyTime.FromTimeSpan(firstTimeSpan),
Value = -,
});
frames.KeyFrames.Add(new EasingDoubleKeyFrame()
{
EasingFunction = new BounceEase()
{
Bounces = ,
Bounciness = 1.3,
EasingMode = EasingMode.EaseOut
},
KeyTime = KeyTime.FromTimeSpan(Duration),
Value = ,
}); return frames;
}
}

和大家平常创建动画的过程一样,这个库只是把常用的动画都集合在一起,这样用起来很方便,希望大家喜欢。

【开源】LLMAnimator 60多种动画让你的应用动起来的更多相关文章

  1. 实用CSS3的transform实现多种动画效果

    查看效果:http://keleyi.com/a/bjad/b6x9q8gs.htm 以下是代码: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4. ...

  2. WPF中的动画——(四)缓动函数

    缓动函数可以通过一系列公式模拟一些物理效果,如实地弹跳或其行为如同在弹簧上一样.它们一般应用在From/To/By动画上,可以使得其动画更加平滑. var widthAnimation = new D ...

  3. Lottie开源库实现Android动画效果

    Lottie简介 Lottie是一个支持Android.iOS.React Native,并由Adobe After Effects制作aep格式的动画,然后经由bodymovin插件转化渲染为jso ...

  4. Core Animation之多种动画效果

    前面介绍了Core Animation基础知识,还有CALayer的简单使用,最终还是有要动画的滴,这里列出几个动画效果,参考下能加深对Core Animation的认识和理解 1.把图片移到右下角变 ...

  5. iOS仿写有妖气漫画、视频捕获框架、启动页广告页demo、多种动画效果等源码

    iOS精选源码 以tableview的section为整体添加阴影效果/ta'b'le'vi'e'w顶部悬浮.... 一个可以轻松应用自定义过滤器的视频捕获框架. 基于UITableView的组件,旨 ...

  6. 一行代码实现自定义转场动画--iOS自定义转场动画集

    WXSTransition 这款非常不错,力推 这是作者源码简书地址: http://www.jianshu.com/p/fd3154946919 这是作者源码github地址 https://git ...

  7. Vue学习笔记【19】——Vue中的动画(使用第三方 CSS 动画库)

    导入动画类库:  <link rel="stylesheet" type="text/css" href="./lib/animate.css& ...

  8. JQuery插件之Animate.css和 jquery-aniview

    Animate.css 一款强大的预设css3动画库 简介 animate.css 是一个来自国外的 CSS3 动画库,它预设了抖动(shake).闪烁(flash).弹跳(bounce).翻转(fl ...

  9. animate.css – 齐全的CSS3动画库

    animate.css – 齐全的CSS3动画库 演 示 下 载   简介 animate.css 是一个来自国外的 CSS3 动画库,它预设了抖动(shake).闪烁(flash).弹跳(bounc ...

随机推荐

  1. 【转载】MySQL启多个实例

    很多朋友都想在一台服务器上运行多个MySQL Instance,究竟怎么做呢?首先要明晰几个原理, 简称为mysqld读取my.cnf的顺序:第一搜,首先读取/etc/my.cnf,多实例这个配置文件 ...

  2. 密码校验正则表达式(java 环境)

    密码校验需求: 1) 密码控制只能输入字母.数字.特殊符号(~!@#$%^&*()_+[]{}|\;:'",./<>?)2) 长度 6-16 位,必须包括字母.数字.特殊 ...

  3. WinMain与wWinMain,win32的字符集问题

    刚接触win32开发的会发现,用vs新建一个win32项目默认代码里面的入口函数并不是WinMain而是_tWinMain或者wWinMain,这些都有什么区别呢? WinMain对应的是多字节字符集 ...

  4. 网页中显示pdf

    1.<embed width="800" height="600" src="test_pdf.pdf"> </embed ...

  5. java报表工具FineReport常用函数的用法总结(数学和三角函数)

    ABS ABS(number):返回指定数字的绝对值.绝对值是指没有正负符号的数值. Number:需要求出绝对值的任意实数. 示例: ABS(-1.5)等于1.5. ABS(0)等于0. ABS(2 ...

  6. margin-top无效的解决方法

    先上代码: <div id="content" style=" width:750px; height:300px; background:#C29A29; mar ...

  7. [转]jquery开发自定义的插件总结

    本文转自:http://www.cnblogs.com/Jimmy009/archive/2013/01/17/jquery%E6%8F%92%E4%BB%B6.html 前几天在玩jquery,今天 ...

  8. [转]asp.net c# 网上搜集面试题目(附答案)

    本文转自:http://www.cnblogs.com/hndy/articles/2234188.html 1.String str=new String("a")和String ...

  9. 【转】【收藏】LINQ学习心得分享--------(二)LINQ语法详解

    原地址:http://blog.csdn.net/xuemoyao/article/details/8053444   通过上一章节的学习,相信大家已经掌握了学习LINQ的前期的准备知识.在这一节里, ...

  10. BZOJ2763[JLOI2011]飞行路线 [分层图最短路]

    2763: [JLOI2011]飞行路线 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 2523  Solved: 946[Submit][Statu ...