Android ActivityOptions动画
来源:互联网 发布:java 最大公约数 编辑:程序博客网 时间:2024/05/20 19:30
Android ActivityOptions动画
Android5.0提供了新的过渡动画,为了兼容以前版本,我们需要导入“com.android.support:appcompat-v7”。
要实现这些动画,Activity必须指定theme,继承Theme.AppCompat.Light<style name="ActivityOptionsTheme" parent="Theme.AppCompat.Light"></style>同时在Activity中调用
getWindow().requestFeature(Window.FEATURE_CONTENT_TRANSITIONS)ActivityOptionsCompat提供了五种不同的方式来实现动画,不过makeSceneTransitionAnimation方法只在5.0版本以上的系统上才能显示。
1、makeCustomAnimation(Context context, int enterResId, int exitResId)
设置自定义的Activity动画,出入的是动画资源的id。enterResId和exitResId分别指定进入动画和退出动画。
ActivityOptionsCompat activityOptions = ActivityOptionsCompat.makeCustomAnimation(this, R.anim.anim_enter_from_bottom, R.anim.anim_alpha);ActivityCompat.startActivity(this, new Intent(this, ActivityOptionsOpenActivity.class),activityOptions.toBundle());
2、makeScaleUpAnimation(View source, int startX, int startY, int startWidth, int startHeight)
新的Activity从某个位置以某个大小出现,然后慢慢拉伸渐变到整个屏幕。startX和startY指定开始位置, 而startWidth和startHeight指定初始宽高。
ActivityOptionsCompat activityOptions = ActivityOptionsCompat.makeScaleUpAnimation(mSharedView, 0, 0, 100, 100);ActivityCompat.startActivity(this, new Intent(this, ActivityOptionsOpenActivity.class),activityOptions.toBundle());
3、makeThumbnailScaleUpAnimation(View source, Bitmap thumbnail, int startX, int startY)
一个bitmap慢慢从某个位置拉伸渐变新的activitythumbnail指定初始图片,startX和startY指定开始位置。
ActivityOptionsCompat activityOptions = ActivityOptionsCompat.makeThumbnailScaleUpAnimation(mSharedView, BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher), 0, 0);ActivityCompat.startActivity(this, new Intent(this, ActivityOptionsOpenActivity.class),activityOptions.toBundle());
4、makeSceneTransitionAnimation(Activity activity, View sharedElement, String sharedElementName)
用于两个Activity的两个View协作动画(1) 配置文件中添加transitionName属性
<Viewandroid:id="@+id/view_content"android:layout_width="match_parent"android:layout_height="200dp"android:background="@drawable/tweened"android:transitionName="picture"/>(2) makeSceneTransitionAnimation方法
在调用时指定初始View和transitionName,
ActivityOptionsCompat activityOptions = ActivityOptionsCompat.makeSceneTransitionAnimation(this, mSharedView, "picture");ActivityCompat.startActivity(this, new Intent(this, ActivityOptionsOpenActivity.class),activityOptions.toBundle());(3) 在第二个Activity的onBackPressed方法中添加
@Overridepublic void onBackPressed() {super.onBackPressed();ActivityCompat.finishAfterTransition(this);}
5、makeSceneTransitionAnimation(Activity activity, Pair<View, String>... sharedElements)
用于多个View协作动画(1) 为不同的View添加transitionName
<RelativeLayoutandroid:layout_width="match_parent"android:layout_height="100dp"><Viewandroid:id="@+id/view_shared1"android:layout_width="100dp"android:layout_height="100dp"android:layout_alignParentLeft="true"android:background="@color/color_eed400"android:transitionName="robot1"/><Viewandroid:id="@+id/view_shared2"android:layout_width="100dp"android:layout_height="100dp"android:layout_alignParentRight="true"android:background="@color/color_ff7088"android:transitionName="robot"/></RelativeLayout>(2) 调用makeSceneTransitionAnimation方法,创建不同的Pair实例
Intent intent = new Intent(this, ActivityOptionsSecondActivity.class);ActivityOptionsCompat activityOptions = ActivityOptionsCompat.makeSceneTransitionAnimation(this, Pair.create(mViewShared1, "robot1"), Pair.create(mViewShared2, "robot2"));ActivityCompat.startActivity(this, intent, activityOptions.toBundle());(3) 在第二个Activity的onBackPressed方法中添加finishAfterTransition方法
参考资料:http://blog.csdn.net/qibin0506/article/details/48129139
参考资料:http://www.jianshu.com/p/6ad7864e005e
阅读全文
0 0
- Android ActivityOptions动画
- Android activity 转场动画ActivityOptions
- Android 使用ActivityOptions实现Activity转场动画
- ActivityOptions过场动画
- android Design : Activity转场动画——ActivityOptions
- Activity转场动画——ActivityOptions
- 使用ActivityOptions做Activity切换动画
- 用开源项目ActivityOptionsICS让ActivityOptions的动画实现兼容
- 用开源项目ActivityOptionsICS让ActivityOptions的动画实现兼容
- 用开源项目ActivityOptionsICS让ActivityOptions的动画实现兼容
- 用开源项目ActivityOptionsICS让ActivityOptions的动画实现兼容
- Material Design UI Widgets —— ActivityOptions转场动画
- 你所不知道的Activity转场动画——ActivityOptions,activity转场动画
- 使用ActivityOptions动画共享组件的方式实现跳转Activity动画
- Activity转场动画——ActivityOptions,activity转场动画(MD风格)
- 你所不知道的Activity转场动画——ActivityOptions
- 你所不知道的Activity转场动画——ActivityOptions
- 你所不知道的Activity转场动画——ActivityOptions
- SDWebImage原理实现
- Agri_Net
- css3实现扇形列表
- type="file"上传文档格式限制
- VB快速查找大型文件中包含的字符串
- Android ActivityOptions动画
- 关于java传统线程的两种创建方式讲解
- jmeter运行
- Android源码编译及修改总结
- WCF系列之环境的配置
- 用DefaultDimension获得某成本中心的值
- RecyclerView简单使用
- 【Python】range和xrange
- scala断言专栏--入门