前言

这个是对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. uniGUI之uniColorButton(21)

    uniColorButton相当于VCL的ColorDialog1 若Palette 为空,则为系统自带颜色.

  2. 算法设计与分析 - AC 题目 - 第 2 弹

    PTA-算法设计与分析-AC原题7-1 最大子列和问题 (20分)给定K个整数组成的序列{ N1, N2, ..., NK },“连续子列”被定义为{ Ni, Ni+1, ..., Nj },其中 1 ...

  3. vbs操作IE对象

    Dim fso,filepath,i 'Dim ExcelBook,ExcelSheet,MyExcelBook,MyExcelSheet Dim ie Set ie=WScript.CreateOb ...

  4. 获取navigationController中的控制器

    @implementation UIViewController (UIViewControllerExt) - (void)popViewController:(NSString *)control ...

  5. 简单讲解什么是黑帽SEO

    此文章主要讲的是黑帽SEO之搜索引擎劫持: SEO(Search Engine Optimization)搜索引擎优化,简单来说,就是让网站的排名更高,比如,搜索"博客"这个关键字 ...

  6. Prometheus 学习目录

    Prometheus 介绍 Prometheus 安装 https://www.bookstack.cn/read/prometheus-book/quickstart-why-monitor.md ...

  7. Broadcast机制(二)

    内容提纲: 在本节课当中,我会继续为大家讲解Android的广播机制,重点内容有以下的两个方面: a)         在应用程序当中注册BroadcastReceiver的方法 b)         ...

  8. 「JSOI2008」Blue Mary的旅行

    传送门 Luogu 解题思路 分层图加网络流,有点像这题 可以证明最多不超过100天,所以才可以分层,不然图的规模会很大. 首先连源点汇点: \((s,1,INF), (n, t, INF)\) 以时 ...

  9. centos搭建单节点hadoop

    由于本地机器资源有限,搭建单节点hadoop供开发.测试. 1.安装java mkdir /usr/local/java cd /usr/local/java tar zxvf jdk-8u181-l ...

  10. 做一个php登陆页面,用pc登陆和用手机登陆弹出来的登陆页面不一样。

    <?phpheader('Content-Type:text/html; charset=UTF-8');//定义页面编码为utf8$is_pc = (strpos($agent, 'windo ...