前言

这个是对view 动画的补充,是一些view 动画的特殊使用场景。

回顾第一篇关于view 动画的,我介绍到view的动画都是针对元素本身的。

当我们开发view动画的时候,我们看到几个元素在做相同规律的变化,如果我们去一个个设置的话,当然是可以的,但是呢一个代码不美观。

同样我们看到,我们进入下一个页面的时候,那么有一个切换动画。这些基本都可以用view 动画实现。

正文

activity 切换效果

Intent intent=new Intent(this,demo.class);
startActivity(intent);
overridePendingTransition(R.anim.enter_anim,R.anim.enter_anim);
@Override
public void finish()
{
super.finish();
overridePendingTransition(R.anim.enter_anim,R.anim.enter_anim);
}

上面两串代码分别是入场动画,和出场动画。

值得注意的是:

动画本身一定要在startActivity和finish 后面。

其实这个也非常好理解,虽然我没有去看源代码,到时可以肯定的时候,这时候去拿到了当前被压栈的view。

fragment 也可以添加切换动画:在此就不介绍都一样。

viewgroup

viewgroup 在我理解中是容器一样,也就是里有子元素。看下它是如何控制子元素的变化吧。

<?xml version="1.0" encoding="utf-8"?>
<layoutAnimation android:delay="0.5"
android:animationOrder="normal"
android:animation="@anim/enter_anim"
xmlns:android="http://schemas.android.com/apk/res/android">
</layoutAnimation>

android:animationOrder 设置我们动画的顺序,比如说有5个元素,是让他们一个一个按照顺序来呢,还是随机呢。

如果android:animationOrder设置为0,那么是毫无一样的,无论是一个一个顺序来或者随机,如果没有延迟,那么将无意义。

android:delay 为0.5,是相当于android:animation="@anim/enter_anim"中的during而言的。

比如:

<?xml version="1.0" encode="utf-8"?>
<set
xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="200"
>
</set>

android:duration="200",那么就是延迟1秒。

groupview 去加载时候:

<ListView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layoutAnimation="@anim/layout_anim">
</ListView>

这样设置就是一开始就执行。

那么我们依然可以控制:

ListView listView=(ListView)findViewById(R.id.list);
Animation animation =AnimationUtils.loadAnimation(this,R.anim.enter_anim);
LayoutAnimationController controller =new LayoutAnimationController(animation);
controller.setDelay(0.5f);
controller.setOrder(LayoutAnimationController.ORDER_NORMAL);
listView.setLayoutAnimation(controller);

android 动画基础绘——view 动画(二)[补]的更多相关文章

  1. android 动画基础绘——view 动画

    前言 对android 动画的整理,android 动画分为view动画(也叫补间动画),帧动画,属性动画. 看到这几个概念,让我想起了flash这东西.如果需要查各种动画具体的含义,那么可以去查询f ...

  2. android 动画基础绘——帧动画(三)

    前言 这篇介绍帧动画. 什么是帧动画? 帧动画,非常好理解.就是轮播,比如我们看电视,其实就是一张一张播放过去的. 正文 <?xml version="1.0" encodi ...

  3. Android 动画具体解释View动画

    为了让用户更舒适的在某些情况下,利用动画是那么非常有必要的.Android在3.0一旦支持两种动画Tween动漫Frame动画.Tween动画支持简单的平移,缩放,旋转,渐变.Frame动画就像Gif ...

  4. 学习Canvas绘图与动画基础 绘制直线(二)

    1 <!DOCTYPE html> 2 <html> 3 <head lang="en"> 4 <meta charset="U ...

  5. iOS 动画基础-显式动画

    摘要 显式动画 属性动画 CABasicAnimation *animation = [CABasicAnimation animation];         [self updateHandsAn ...

  6. Android学习笔记之View(二)

    View加载的流程之测量:rootView调用measure()→onMeasure(): measure()是final方法,表明Android不想让开发者去修改measure的框架,开发者可以on ...

  7. 虾扯蛋:Android View动画 Animation不完全解析

    本文结合一些周知的概念和源码片段,对View动画的工作原理进行挖掘和分析.以下不是对源码一丝不苟的分析过程,只是以搞清楚Animation的执行过程.如何被周期性调用为目标粗略分析下相关方法的执行细节 ...

  8. Android动画-View动画

    View动画 Android动画分为三类:View动画,帧动画,和属性动画.帧动画也是View动画的一种. View动画的作用对象是View,之所以强调这一点是因为其作用对象有别于Android的另一 ...

  9. View 动画 Animation 运行原理解析

    这次想来梳理一下 View 动画也就是补间动画(ScaleAnimation, AlphaAnimation, TranslationAnimation...)这些动画运行的流程解析.内容并不会去分析 ...

随机推荐

  1. js加密(十一)yhz566 md5

    1. http://www.yhz566.com/ 2. 登录加密 3. navigator = {}; var rng_psize = 256; var b64map = "ABCDEFG ...

  2. 中山Day4——普及

    生活开始日益平淡了呢...今天130分. 收获:归并排序求逆序对 背包问题(01.完全.多重)(外带滚动数组优化) T1:题目链接(才不会告诉你们下面的代码也是洛谷上弄来的) 思路:动态规划.首先,设 ...

  3. 二 Mybatis架构&MybatisDao的两种开发方式(原始Dao,接口动态代理)

    MyBatis架构图 三个对象: SqlSessionFactoryBuilder.SqlSessionFactory.SqlSession SqlSessionFactoryBuilder:主要用来 ...

  4. 这两天的pwn学习总结

    总是一会儿切到那里,一会儿切到那里,要明确一条主线,就是buu的题,而不是按着什么视频教程还有linux和python教程去学习.那样效率比较低. 一切为了写wp为本,不胡乱点击就是提高效率的最好办法 ...

  5. vue使用H5实现滚动到页面底部时加载数据

    使用原生vue实现瀑布流,发现无法实现小程序那种滚动到地步触发加载效果,只能自己研究了 实现效果: 实现代码: 首先添加监听滚动事件 mounted() { window.addEventListen ...

  6. vue的高级使用技巧

    全局组件注册 一般组件应用弊端,比较笨拙繁琐低效,比如我们写了一些组件,需要引用上的时候就通过import导入,那如果是高频繁需要使用的组件,则需要在每个使用的时候都需要引入并注册 假设现在有两个组件

  7. Http服务和JSP

    需要先安装tomocat8.0,并且使用的IDEA 一个web项目 新建项目 写代码 // 新建一个class @WebServlet("/test") public class ...

  8. 「CF55D」Beautiful numbers

    传送门 Luogu 解题思路 毒瘤数位DP,发现一个前缀我们只需要记录它对 \(\operatorname{lcm}(1,2,3,\cdots,9)=2520\) 取模的值即可,所以我们在 DP 时记 ...

  9. 073、Java面向对象之利用构造方法为属性赋值

    01.代码如下: package TIANPAN; class Book { // 定义一个新的类 private String title; // 书的名字 private double price ...

  10. unity3d Asset Store下载的资源在哪?

    win7 C:\Users\(用户名)\AppData\Roaming\Unity\Asset Store\ 用户名为中文的时候,是不能直接在unity3d中打开的.