同一时候公布在我的博客

点此进入

背景

说来这个的背景很easy,常常在使用图片列表的时候就会想,假设“列表中的图片放大到整个屏幕”作为 Activity 的补间动画。就很完美了。

就像这样:

Android 5.0 Lollipop 的 SDK 公布以后。这个新的主题包括在 AppCompat-v7 21了。

这里介绍的实现方法是 ActivityOptionsCompat.makeSceneTransitionAnimation , 缺点是仅仅能在5.0上才干够看到效果,在5.0下面仅仅能确保程序不出错。

实现

首先要在 AndroidManifest.xml 中为须要这样的动画的 Activity 开启这个功能,为此我字节写了一个 style。

<style name="AnimationActivity">
<item name="android:windowContentTransitions">true</item>
</style>

先来造一个浏览界面,关键是设置共享的视图元素的两个地方

public class ViewerActivity extends AppCompatActivity {

    public static void launch(AppCompatActivity activity, View transitionView, int resId) {
Intent intent = new Intent(activity, ViewerActivity.class);
intent.putExtra("resId", resId); // 这里指定了共享的视图元素
ActivityOptionsCompat options = ActivityOptionsCompat
.makeSceneTransitionAnimation(activity, transitionView, "image"); ActivityCompat.startActivity(activity, intent, options.toBundle());
} @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); setContentView(R.layout.activity_viewer);
ImageView imageView = (ImageView) findViewById(R.id.image);
imageView.setImageResource(getIntent().getIntExtra("resId", R.mipmap.pic_1)); // 这里指定了被共享的视图元素
ViewCompat.setTransitionName(imageView, "image");
} }

然后启动上边写好的浏览界面

ViewerActivity.launch(MainActivity.this, v, data.get(position).resId);

我知道上面写得比較简单,所以我就准备了,

伸手党的福利:点我跳转代码地址

很多其它

上面的方法很easy。可是却仅仅能在 5.0 的版本号上显示出效果。对于如今大部分手机还是 4.x 的情况来说。无疑是不能上线的。

下一篇文章将会讨论怎样在 4.x 上实现相同的效果。敬请期待。

最新文章

  1. JavaScript function函数种类
  2. 初次接触nodejs,请多指教。
  3. WindowsService 安装 cmd
  4. No goals have been specified for this build
  5. JAVA中取子字符串的几种方式
  6. magento日常使用
  7. c++,类的组合
  8. PythonTip--一马当先--bfs
  9. 推荐两款Windows管理工具
  10. 程序猿表白练级之Hello World
  11. 0106笔记--vc2012 打印堆栈
  12. java 用PDFBox 删除 PDF文件中的某一页
  13. [宏]preempt_disable
  14. Python学习的路上,Anaconda送你一双遮天神翼
  15. sql生成数据库的序列号
  16. spring 配置文件属性设置默认值以及读取环境变量值
  17. python中的if判断语句
  18. C语言强化——字符串(2)
  19. linux逻辑卷管理 (LVM)(转)
  20. FastDFS 环境搭建

热门文章

  1. vue中的插槽slot理解
  2. HttpWebRequest使用证书请求
  3. Kinect 开发 —— 图片浏览
  4. cogs P1578【模板】 次小生成树初级练习题
  5. 47.Android 自己定义PopupWindow技巧
  6. [ReasonML] Workshops code
  7. AIX中经常使用的SMIT 的使用
  8. Linux下的led驱动程序,ok6410
  9. actionmode-ActionMode以及它的menu使用
  10. Arrays.asList()方法的限制