不同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。

相关内容

热门资讯

透视系统!wepokerh5破... 透视系统!wepokerh5破解,确实真的有挂(透视)必备教程(有挂技巧)暗藏猫腻,小编详细说明we...
透视透视!pokemmo辅助工... 透视透视!pokemmo辅助工具,哈糖大菠萝挂,分享教程(有挂教程)1、pokemmo辅助工具系统规...
透视存在!佛手在线大菠萝智能辅... 透视存在!佛手在线大菠萝智能辅助器,德州局透视脚本,靠谱教程(有挂黑科技)1、金币登录送、破产送、升...
透视真的!pokeplus脚本... 透视真的!pokeplus脚本,pokermaster脚本,科技教程(有挂揭秘)1、用户打开应用后不...
透视工具!hh poker软件... 透视工具!hh poker软件,总是真的有挂(透视)黑科技教程(有挂规律);1、完成hh poker...
透视挂!impoker辅助,e... 透视挂!impoker辅助,epoker有透视吗,德州教程(有挂细节)透视挂!impoker辅助,e...
透视透视!wepoker提高好... 透视透视!wepoker提高好牌率,一直真的有挂(透视)安装教程(有挂技巧)该软件可以轻松地帮助玩家...
透视安卓版!福建大菠萝万能辅助... 透视安卓版!福建大菠萝万能辅助器,pokemmo手机版透视脚本,可靠教程(有挂技巧)1、玩家可以在福...
透视ai代打!wepoker线... 透视ai代打!wepoker线上大神,起初有挂(透视)力荐教程(有挂规律);wepoker线上大神辅...
透视好友!pokemmo辅助器... 透视好友!pokemmo辅助器手机版下载,佛手在线大菠萝技巧,必赢教程(有挂详情);1、打开软件启动...