我目前正在创建我的第一个 android 应用程序,并且想知道如何设置卡片视图以提升然后扩展为更大的矩形,从而显示一个新的片段?
编辑:(无论原始卡位于何处,新片段都会填满屏幕的中心三分之一)
真实的运动
有形的表面不会像电影中的跳切那样突然出现。它们移动到位,有助于集中注意力、建立空间关系并保持连续性。材料响应触摸以确认您的交互,并且所有更改都从您的触摸点向外辐射。所有的动作都是有意义和亲密的,有助于用户的理解。
活动 + 片段转换
通过声明跨两个屏幕通用的“共享元素”,您可以在两种状态之间创建平滑过渡。
album_grid.xml … <ImageView … android:transitionName="@string/transition_album_cover" /> album_details.xml … <ImageView … android:transitionName="@string/transition_album_cover" /> AlbumActivity.java Intent intent = new Intent(); String transitionName = getString(R.string.transition_album_cover); … ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation(activity, albumCoverImageView, // The view which starts the transition transitionName // The transitionName of the view we’re transitioning to ); ActivityCompat.startActivity(activity, intent, options.toBundle());
这里我们在两个屏幕中定义相同的transitionName。启动新 Activity 时,此转换会自动设置动画。除了共享元素之外,您现在还可以编排进入和退出元素。
资料来源:实施材料设计