不同scaleType之间的Android共享元素转换
创始人
2025-01-09 15:00:19
0

要实现不同scaleType之间的Android共享元素转换,你可以按照以下步骤进行操作:

  1. 在你的起始Activity中,设置共享元素的transitionName属性。例如,如果你要共享一个ImageView,可以在XML布局文件中添加以下代码:

  1. 在你的目标Activity中,也要设置共享元素的transitionName属性。确保与起始Activity中的transitionName相匹配。在XML布局文件中添加以下代码:

  1. 在你的起始Activity中,创建一个共享元素转换的Pair对象。在启动目标Activity之前,使用以下代码来创建Pair对象:
View sharedView = findViewById(R.id.imageView);
String transitionName = getString(R.string.transition_name);
Pair pair = Pair.create(sharedView, transitionName);
  1. 在你的起始Activity中,使用ActivityOptionsCompat类中的makeSceneTransitionAnimation()方法来创建一个ActivityOptionsCompat对象。将Pair对象作为参数传递给该方法:
ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation(this, pair);
  1. 在你的起始Activity中,启动目标Activity并使用ActivityOptionsCompat对象作为参数传递给startActivity()方法:
Intent intent = new Intent(this, TargetActivity.class);
startActivity(intent, options.toBundle());
  1. 在你的目标Activity中,找到共享元素的ImageView并设置其scaleType属性为fitCenter。例如:
ImageView imageView = findViewById(R.id.imageView);
imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);

这样,不同scaleType之间的共享元素转换就完成了。当你从起始Activity过渡到目标Activity时,共享元素会平滑地从centerCrop转换为fitCenter。

相关内容

热门资讯

透视窍要!智星菠萝可以辅助吗(... 透视窍要!智星菠萝可以辅助吗(AApoker透视)本来是有辅助工具(哔哩哔哩)1、不需要AI权限,帮...
黑科技技巧!微乐小程序免费黑科... 黑科技技巧!微乐小程序免费黑科技,微信小程序微乐自建房脚本下载(透视)本来存在有辅助器(哔哩哔哩)运...
透视操作!wepoker轻量版... 透视操作!wepoker轻量版透视系统(WePoKer插件)都是真的是有辅助软件(哔哩哔哩)透视操作...
第三方插件!微乐小程序黑科技,... 第三方插件!微乐小程序黑科技,微乐福建辅助器(透视)切实真的有辅助app(哔哩哔哩)亲,关键说明,透...
透视技法!hhpoker辅助软... 透视技法!hhpoker辅助软件下载(WPK软件)好像有辅助软件(哔哩哔哩)1、下载好hhpoker...
最终!微乐小程序免费黑科技,微... 最终!微乐小程序免费黑科技,微信小程序微乐辅助免费版(透视)总是真的有辅助器(哔哩哔哩);1、全新机...
透视绝活儿!德普之星透视辅助软... 透视绝活儿!德普之星透视辅助软件是真的吗(WePoKerplus)竟然真的有辅助攻略(哔哩哔哩)1、...
据公告内容!微乐小程序黑科技免... 据公告内容!微乐小程序黑科技免费,微乐山西脚本插件(透视)都是是有辅助攻略(哔哩哔哩)1、任何透视是...
透视法门!wepokerplu... 透视法门!wepokerplus作必弊(AApoker插件)一直有辅助攻略(哔哩哔哩)1、下载好we...
透视秘籍!wepoker辅助器... 透视秘籍!wepoker辅助器如何使用(WePoKer透视)一直真的有辅助神器(哔哩哔哩)1、玩家可...