项目中使用动画

1、项目中使用动画可以让产品更具有活力,给产品带来不一样的体验。

2、but,属性动画这个强大的东西没法再项目中直接用,因为他不兼容3.0之前的版本,这个时候就要用NineOldAndroids来代替了

http://nineoldandroids.com/

3、nineoldandroids兼容了安卓系统实现的所有的属性动画,而且扩展了更多的功能。

4、

(1)安卓动画有的已经做了笔记,这里只记录nineoldandroids有的或者是http://www.cnblogs.com/hpustudent/p/4589813.html没有提到的

(2)View属性动画,ViewPropertyAnimator,或者叫做view多属性动画,就是view的多个属性同时组合起来,很简单,一个平移+旋转+alpha

    ViewPropertyAnimator.animate(tvText)
                                    .translationX(300f)
                                    .translationY(300)
                                    .rotationY(100)
                                    .alpha(0.5f)
                                    .setDuration(3000);

so easy

(3)路径动画,PathAnimation是例子中带的一个,可以把里边的放到库里边以方便以后的使用,使用方法有以下

第一步:为了兼容api 11,需要获取到执行动画的AnimatorProxy代理

第二步:设置path的坐标以及关键点之间的连接方式(直线或者狐线)

第三步:使用ofObject方法,传入PathEvaluator和坐标数组

第四步:在ofObject的target中实现set***,方法,在方法中设置对象的新的位置。

public class NineOldActivity extends Activity{
    private Button btnStart;
    private TextView tvText;
    private LinearLayout layoutMain;
    private AnimatorProxy textProxy;
    private  ObjectAnimator anim; 

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_nineoldanimator);

        btnStart = (Button)findViewById(R.id.btn_start);
        tvText = (TextView)findViewById(R.id.text);
        layoutMain = (LinearLayout)findViewById(R.id.main);
        textProxy = AnimatorProxy.wrap(tvText);

         AnimatorPath path = new AnimatorPath();
         path.moveTo(0, 0);
         path.lineTo(0, 300);
         path.curveTo(100, 0, 300, 900, 400, 500);

         anim = ObjectAnimator.ofObject(this, "buttonLoc",
                 new PathEvaluator(), path.getPoints().toArray());

         anim.setDuration(1000);

         new Handler().postDelayed(new Runnable() {

            @Override
            public void run() {

                anim.start();
            }
         }, 1000);

         /*
         btnStart.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {

            }
        });
        */
    }

    public void setButtonLoc(PathPoint newPoint){
        textProxy.setTranslationX(newPoint.getX());
        textProxy.setTranslationY(newPoint.getY());
    }
}

-------------------------------------------------------****************-----------------------------------------------------------------------------

端午节就这样过完了,mark,只为能打造一个完美体验的产品出来2015-06-23 0:16,端午假期结束,之前不怎么记录自己的技术,喜欢记在笔记本上,but,前一段老大让做前端的一些东西,时间长没做,忘了不少,找原来的两本前端笔记,翻来翻去找不到,好吧,还是记在blog上吧,以后翻一番还是挺方便的,之前做C++的,Qt动画的一部分和这个还是很像的,而且实现的比安卓的要复杂一点,随后打算把复杂一点的动画加入到里边,不写了,睡觉!

时间: 2024-10-20 16:50:27

项目中使用动画的相关文章

[Swift通天遁地]八、媒体与动画-(10)在项目中播放GIF动画

本文将演示使用第三方类库播放GIF动画. 首先确保已经安装了所需的第三方类库.双击查看安装配置文件[Podfile] 1 platform :ios, '12.0' 2 use_frameworks! 3 4 target 'DemoApp' do 5 source 'https://github.com/CocoaPods/Specs.git' 6 pod 'SwiftGifOrigin', '~> 1.6.1' 7 end 根据配置文件中的相关设置,安装第三方类库. 安装完成之后,双击打开项

Css3帧动画深入探寻,讲点项目中实际会碰到的问题

先加个副标题XD --如何解决background-size为100%下处理@keyframes 正是在项目中遇到副标题,才引起我更深入的探寻 先略带一下基本的css3动画 css3的动画实现是通过属性animation 与 @keyframes配合实现的 具体可以参见这篇文章,这位女程序媛有着非常详尽与精彩的阐述 https://24ways.org/2012/flashless-animation/ 最后实现了一张猫跑动在有视频滚动的画面上 为什么不用gif? gif动画就是典型的帧动画,g

Android 百度地图开发(一)--- 申请API Key和在项目中显示百度地图

标签: Android百度地图API Key  分类: Android 百度地图开发(2)  最近自己想研究下地图,本来想研究google Map,但是申请API key比较坑爹,于是从百度地图入手,其实他们的用法都差不多,本篇文章就带领大家在自己的Android项目中加入百度地图的功能,接下来我会写一系列关于百度地图的文章,欢迎大家到时候关注!   一 申请API key 在使用百度地图之前,我们必须去申请一个百度地图的API key,申请地址http://lbsyun.baidu.com/a

Android项目中使用类似菊花的Dialog

Android项目中使用类似菊花的Dialog 效果图一: 项目中使用的效果图二: 1.首先定义动画文件 <?xml version="1.0" encoding="utf-8"?> <animated-rotate xmlns:android="http://schemas.android.com/apk/res/android" android:drawable="@drawable/loading2"

iOS:项目中疑难Crash问题集锦

项目中疑难Crash问题集锦 iOS App运行中遇到Crash的情况相信大家都遇到过,开发和者测试中遇到了可能很方便的办法就是直接拿着设备连接一下,然后使用Xcode自带的工具就可以解析出Crash地址了.对于线上App运行时的Crash收集也有很多好用的第三方工具,具有代表性的就是Crashlytics,通过打包时上传dSYM文件,收集到的Crash就可以解析为可读的格式了. 尽管Crashlytics功能已经很强大了,统计出来的Crash信息也足够详细,还是会有一些难缠的问题,例如程序直接

前端编程提高之旅(十六)————jquery中的动画

    上一篇文章对jquery中的事件做了总结,这篇文章主要对jquery中的动画做一下总结归类.最近微信端分享中,有很多页面交互及动画做的非常受欢迎,非常符合移动端体验.看似花哨的动画从本质上都脱离不了编写动画的基本方法.乐帝将jquery动画部分内容,做了一个简单的归类.     如下图:     如上图所示,无论多复杂的动画,从实现上都采用这些最底层的动画方法.本篇将从动画方法和与动画状态有关的方法讲起.    一.动画方法    1.同时改变高.宽.不透明度方法    这里涉及show

Android中项目中各个文件夹的含义和用途详解

1.src:存放所有的*.java源程序. 2.gen:为ADT插件自动生成的代码文件保存路径,里面的R.java将保存所有的资源ID. 3.assets:可以存放项目一些较大的资源文件,例如:图片.音乐.字体等. 4.res:可以存放项目中所有的资源文件,例如:图片(*.png.*.jpg).文本等. 5.res/drawable-hdpi:保存高分辨率图片资源,可以使用Resources.getDrawable(id)可以获得资源类型. 6.res/drawable-ldpi:保存低分辩率图

谈谈23种设计模式在Android源码及项目中的应用

本文首发于个人博客:Lam's Blog - 谈谈23种设计模式在Android源码及项目中的应用,文章由MarkDown语法编写,可能不同平台渲染效果不一,如果有存在排版错误图片无法显示等问题,烦请移至个人博客,如果个人博客无法访问可以留言告诉我,转载请声明个人博客出处,谢谢. 前言 本文将结合实际谈谈23种设计模式,每种设计模式涉及 * 定义:抽象化的定义与通俗的描述,尽量说明清楚其含义与应用场景 * 示例:如果项目中有使用过该模式,则会给出项目中的代码,否则会给出尽可能简单好理解的java

在 Swift 项目中实现侧滑菜单-利用 SWRevealViewController

你可以完全自己手动写一个侧滑菜单,但是现在在 GitHub 上面已经有很多免费的开源库了,如果不是有很特别的需求,大可不必新建一个轮子. 在这里我使用的这个第三方库名字叫做 SWRevealViewController,作者是 John Lluch.这个免费的类库提供了很方便快捷的方法去把侧滑菜单加入到你的 App 里面,而且它还提供了很多个性化的设置项.它是用 Objective-C 来写的,但是我们也可以很方便的在 Swift 项目中去使用它.你分分钟便可学会如何使用. 首先来看一下我们的