Android动画实践结论

实践出真知:

一>平移动画

overridePendingTransition(R.anim.enterAnim,R.anim.exitAnim);

方法中第一个参数表示进enterAnim,第二个参数表示出exitAnim;怎么理解呢?

比如:如果我写出这样的一个效果,如同在网易新闻上的一样。当你点击一条新闻的时候,好像当前页面不动,然后所请求的新闻页面从右向左逐渐平移过来并完全遮掩(覆盖)当前页面。如果实现它,看XML代码:

/**  enterAnim  */
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/accelerate_interpolator" >
    <translate
        android:duration="500"
        android:fromXDelta="100%"
        android:toXDelta="0%"
        android:interpolator="@android:anim/accelerate_interpolator"/>

</set>
/** exitAnim  */
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/accelerate_interpolator" >
    <translate
        android:duration="500"
        android:fromXDelta="0%"
        android:interpolator="@android:anim/decelerate_interpolator"
        android:toXDelta="0%" />

</set>

然后,当你要跳转到另一页面时候在startActivity(Intent intent);之后放置上面的方法。

运行一下效果你就会知道,所谓的“进”就等同于,当前不想要看到的页面。咱要让它消失;相反,则”出“就是让你想要看到的新页面呈现出来并遮住(覆盖)当前页;

当点击返回时候,应用效果和上面的点击效果相反;效果:当前页向右平移撤去,原先当前页下面的页面原封的呈现出来。

当然还是使用上面的方法,此时XML代码如下;

/** enterAnim  */
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/accelerate_interpolator" >
         <translate
        android:duration="500"
        android:fromXDelta="0%"
        android:interpolator="@android:anim/accelerate_interpolator"
        android:toXDelta="0%" /> 

</set>
/** exitAnim  */
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/accelerate_interpolator" >

        <translate
        android:duration="500"
        android:fromXDelta="0%"
        android:interpolator="@android:anim/decelerate_interpolator"
        android:toXDelta="100%" />

</set>

依然使用方法:

overridePendingTransition(R.anim.enterAnim,R.anim.exitAnim);

思路与请求效果思路相反;

其实,平移就是相当于一条河流;首先要知道该河流要想那个方向走。

比如向左:设置定方法的第一个参数(令当前页面向左平移)是从右向左移动,紧跟着请求页面(第二个参数)也是同方向从右向左平移。这样才能实现平移的流动性;

待续。。。。

Android动画实践结论,布布扣,bubuko.com

时间: 2024-10-27 19:41:55

Android动画实践结论的相关文章

Android动画系列 - PropertyAnim 详解

前言:上一篇文章传统View动画与Property动画基础及比较简单对Android动画系统的基础做了介绍,本篇文章将对PropertyAnimation进行全面深入的探讨,本篇文章可以分为两大块,从第六部分可以作为分界点.前五部分着重讲解了PropertyAnim的动画值的计算过程,ValueAnimator与ObjectAnimator以及TimeInterpolation与TypeEvaluator之间的介绍和比较,这几点是比较重要的,从第六部分开始是通过源码的角度分析了整个动画计算以及内

Android 动画详解

这次主要就介绍android动画,android动画目前分为三种形式,Tween Animation 这个只能应用于view对象上面的,Drawable Animation这个是帧动画,就是类似我们有一些列的图片依次播放图片时出现的动画,Property Animation 这个是属性动画,这也是在android3.0之后引进的动画,在手机的版本上是android4.0就可以使用这个动画,下面我们主要就是针对这三种情况进行介绍. Tween Animation 这个动画在Property Ani

Android 动画实现-原来如此简单

Android动画相关基本知识可以参考:Android 动画初步.Android 动画 Tween Animation.Android 动画 Frame Animation.Android 属性动画 (Property Animation).Android 动画 Property Animation.ObjectAnimator Demo上面这些都是Android动画的基本知识,掌握这些基本知识以后,我们就可以来实践一下了,先来张最终的效果图. 效果图 第一幅gif 第二幅gif 先来说一下在A

Android开发实践:为什么要继承onMeasure()

Android开发中偶尔会用到自定义View,一般情况下,自定义View都需要继承View类的onMeasure方法,那么,为什么要继承onMeasure()函数呢?什么情况下要继承onMeasure()?系统默认的onMeasure()函数行为是怎样的 ?本文就探究探究这些问题. 首先,我们写一个自定义View,直接调用系统默认的onMeasure函数,看看会是怎样的现象: package com.titcktick.customview; import android.content.Con

android 动画入门(一)

准备花一些时间研究下androd动画,因为一些酷的效果是离不开动画的,但是所有的知识都是要从最基本的讲起,只有把基础打好,学一些高级的技术或者效果才会有思路,而不会在某一基础点卡住,今天就讲下动画的入门知识, 我们知道android动画有好几种,什么属性动画,过渡动画等,这篇讲下动画最基础,在属性动画出现之前就是view 动画了, 它有二种 第一类是Tween动画,就是对view进行(旋转.平移.放缩和渐变)等动画. 第二类就是 Frame动画,就好像看电影一样,只是帧每表播放的很快,这样就感觉

Android动画之二:View Animation

作为一个博客<Android其中的动画:Drawable Animation>.android动画主要分为三大部分.上一篇博客已经解说Drawable Animation的使用方法,即逐帧地显示图片,常常运用于动态显示一个进度动画,这是出现频率最高的应用场景.接下来.我们这篇文章将循序渐进.介绍View Animation. View Animation也是我们平时非常多书籍所说的Tweened Animation(有人翻译为补间动画).View Animation分为4大类:AlphaAni

Android动画TimeInterpolator(插值器)和TypeEvaluator(估值器)分析

跟上之前的三篇文章 Android属性动画ValueAnimator源码简单分析 Android属性动画ObjectAnimator源码简单分析 Android属性动画AnimatorSet源码简单分析 这篇文章继续分析Android动画的TimeInterpolator(插值器)和TypeEvaluator(估值器)的简单实现,以及分别去自定义插值器和估值器. 一,TimeInterpolator(插值器) 在动画的播放过程中Android中提供插值器来改变动画的播放速率,采用不用的插值器来实

从零开始--系统深入学习android(实践-让我们开始写代码-Android框架学习-7.通知)

通知 一个通知是一条消息他是显示于你应用程序之外的一个界面中.当你告诉系统要发布一个通知时,它首先作为一个icon出现在通知区域.为了看见通知的细节,用户可以点击通知区域展开一个新的界面.下面让我们来看一下图7-1和图7-2: 图7-1 通知出现在通知区域 图7-2 通知展开后的效果(drawer) 注意:除非特别注明外,本章指的都是NotificationCompat.Builder,它在v4 Support Library中有,正式添加于API Level 15.但有了v4 Support

Android Flutter实践内存初探

摘要: Android Flutter实践内存初探 闲鱼技术-匠修我们想使用Flutter来统一移动App开发并做了一些实践.移动设备上的资源有限,通常内存使用都是一个我们日常开发中十分关注的问题.那么,Flutter是如何使用内存,又会对Native App的内存带来哪些影响呢?本文将简单介绍Flutter内存机制,结合测试和我们的开发实践,对日常关心的Bitmap内存使用,View绘制内存使用方面做一些探索. 闲鱼技术-匠修我们想使用Flutter来统一移动App开发并做了一些实践.移动设备