转场动画 - 共享元素动画

先看效果:

Activity1点击小图标开启Activity2;

开启Activity2效果就像是小图标放大了填充上去的,关闭Activity2回到Activity1时又像是图片缩小放回去的;

不废话了上代码:

在startActivity方法中加入这段代码;记住 TRANSITIONIMAGE 这个标记

ActivityOptions.makeSceneTransitionAnimation((Activity) mContext,view,"TRANSITIONIMAGE").toBundle()
.setOnClickListener(R.id.icon, new View.OnClickListener() {
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
@Override
public void onClick(View view) {
mContext.startActivity(new Intent(mContext, ShopHomeActivity.class)
, ActivityOptions.makeSceneTransitionAnimation((Activity) mContext,view,"TRANSITIONIMAGE").toBundle());
}
});

Avtivity1中点击的ImageView控件:

添加这个属性:android:transitionName="TRANSITIONIMAGE"

<ImageView
android:id="@+id/icon"
android:layout_width="38dp"
android:layout_height="38dp"
android:src="@mipmap/emptyimage"
android:scaleType="centerCrop"
android:transitionName="TRANSITIONIMAGE"
/>

Avtivity2中显示的控件也添加这个属性:  android:transitionName="TRANSITIONIMAGE"

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="180dp"
android:orientation="vertical"
android:background="@mipmap/shopbg"
android:transitionName="TRANSITIONIMAGE"
>
</RelativeLayout>

这样就会有动画效果了,注意有背景色的是同一个值;

这个叫共享元素动画,在使用这个动画的时候,我们需要给Activity1和Activity2中的两个控件分别添加android:transitionName="TRANSITIONIMAGE"属性,并且该属性的值要相同,这样系统才知道是共享元素动画;然后再开启Activity时添加

ActivityOptions.makeSceneTransitionAnimation((Activity) mContext,view,"TAG").toBundle()

这个动画项目中用到了,后续再写其它的转场动画;

取消默认转场动画:

传送门:http://blog.csdn.net/qq_35605213/article/details/79569218

Android转场动画,Avtivity转场动画;的更多相关文章

  1. Android Activity和Fragment的转场动画

    Android Activity和Fragment的转场动画 Activity转场动画 Activity的转场动画是通过overridePendingTransition(int enterAnim, ...

  2. [转]Android Activity和Fragment的转场动画

    Android Activity和Fragment的转场动画 Activity转场动画 Activity的转场动画是通过overridePendingTransition(int enterAnim, ...

  3. iOS:核心动画之转场动画CATransition

    转场动画——CATransition CATransition是CAAnimation的子类,用于做转场动画,能够为层提供移出屏幕和移入屏幕的动画效果.iOS比Mac OS X的转场动画效果少一点 U ...

  4. iOS_SN_push/pop转场动画封装和一般动画封装

    封装类中的方法: #import <Foundation/Foundation.h> #import <UIKit/UIKit.h> @interface AnimationE ...

  5. 浅谈Android样式开发之View Animation (视图动画)

    引言 一个用户体验良好的App肯定少不了动画效果.Android为我们提供了2种动画框架,分别是视图动画(View Animation)和属性动画(Property Animation).视图动画比较 ...

  6. Android 学习笔记多媒体技术之 Drawable类+Tween(补间动画)+Frame(帧动画)

    学习内容: 1.了解Drawable类的作用 2.如何使用Drawable... 3.了解Tween动画... 4.如何创建和使用Tween动画... 1.Drawable类...   Drawabl ...

  7. [转]ANDROID L——Material Design详解(动画篇)

    转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! 转自:http://blog.csdn.net/a396901990/article/de ...

  8. android 学习随笔二十六(动画:属性动画)

    属性动画,属性动画是真正改变对象的某个属性的值 * 补间动画,只是一个动画效果,组件其实还在原来的位置上,xy没有改变1.位移:* 第一个参数target指定要显示动画的组件* 第二个参数proper ...

  9. android 学习随笔二十五(动画:补间动画)

    补间动画(TweenAnimation) * 原形态变成新形态时为了过渡变形过程,生成的动画就叫补间动画(为了让对象从初始状态向结束状态改变的过程更加自然而自动生成的动画效果)* 位移.旋转.缩放.透 ...

随机推荐

  1. Netty 学习资料

    Netty 学习资料 Netty 学习资料 链接网址 说明 Netty 4.x 用户指南 http://wiki.jikexueyuan.com/project/netty-4-user-guide/ ...

  2. Python中列表(list)、字典(dict)排序的程序

    Python3 中的排序,在 Sorting HOW TO 中已经讲得很清楚了.来个实际的例子,对下面的这个 list 依据创建时间排序: pages = [{'title': '十年学会程序设计', ...

  3. jmeter --响应断言详解

    jmeter --响应断言详解 响应断言 :对服务器的响应进行断言校验 (1)应用范围: main sample and sub sample, main sample only , sub-samp ...

  4. verilog编码规范

    verilog编码规范 1.Register with Rising-Edge Coding Example (Verilog) Flip-Flops and Registers Control Si ...

  5. 计算MySQL的内存峰值公式 (转)

    -- 计算MySQL的内存峰值公式,计算所有的连接满了的情况下: select (@@key_buffer_size + @@query_cache_size + @@tmp_table_size   ...

  6. PI Square中文论坛: PI SDK 开发中级篇| PI Square

    注: 为了更好的利用站内资源营造一个更好的中文开发资源空间,本文为转发修正帖,原作者为OSIsoft技术工程师王曦(Xi Wang),原帖地址:PI SDK 中级篇 来源:https://d.gg36 ...

  7. 发现TCP的一种错误----客户端连接失败(10055错误号)

    在客户端连接7302TCP端口失败,关闭程序,启动sockettool也不行,出现错误号为 10055(发现队列满了或者空间不足).通过查网上资料,发现有两个方法:设置 ( TcpTimedWaitD ...

  8. 《Java并发编程实战》笔记-OneValueCache与原子引用技术

    /** * NumberRange * <p/> * Number range class that does not sufficiently protect its invariant ...

  9. 峰Redis学习(9)Redis 集群(概述)

    第一节:Redis 集群概述 redis cluster是去中心化,去中间件的,也就是说,集群中的每个节点都是平等的关系,都是对等的,每个节点都保存各自的数据和整个集群的状态.每个节点都和其他所有节点 ...

  10. 时间复杂度On和空间复杂度O1是什么意思?

    (1).把输入规模看成x轴,所花时间/空间看成y轴 O(n)就是y=x,y随x的增长而线性增长.也就是成正比,一条斜线. O(1)就是y=1,是一个常量,不管x怎么变,y不变,一条与x轴平行的线. ( ...