zoukankan      html  css  js  c++  java
  • android 动画基础绘——view 动画(二)[补]

    前言

    这个是对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);
    
  • 相关阅读:
    SQL Azure (17) SQL Azure V12
    Microsoft Azure News(5) Azure新DV2系列虚拟机上线
    Azure Redis Cache (3) 在Windows 环境下使用Redis Benchmark
    Azure PowerShell (11) 使用自定义虚拟机镜像模板,创建Azure虚拟机并绑定公网IP(VIP)和内网IP(DIP)
    Windows Azure Virtual Machine (31) 迁移Azure虚拟机
    Windows Azure Web Site (16) Azure Web Site HTTPS
    Azure China (12) 域名备案问题
    一分钟快速入门openstack
    管理员必备的Linux系统监控工具
    Keepalived+Nginx实现高可用和双主节点负载均衡
  • 原文地址:https://www.cnblogs.com/aoximin/p/12306777.html
Copyright © 2011-2022 走看看