【发布时间】:2014-12-21 10:33:51
【问题描述】:
我正在尝试在棒棒糖之前的设备 (4.x) 上使用共享元素进行活动转换。可能吗?到目前为止,我正在尝试这个:
public class RewardDetail extends ActionBarActivity {
@Override
public void onCreate(final Bundle savedInstanceState) {
...
ViewCompat.setTransitionName(imageView, TRANSITION_NAME);
}
...
public static void launch(ActionBarActivity activity, View transitionView, WelcomeReward detailData) {
ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation(activity, transitionView, TRANSITION_NAME);
Intent intent = new Intent(activity, RewardDetail.class);
intent.putExtra(PARAM_DATA, detailData);
ActivityCompat.startActivity(activity, intent, options.toBundle());
}
}
调用者:
@Override
public void onClick(final View v) {
int position = recyclerView.getChildPosition(v);
WelcomeReward welcomeReward = data.get(position);
RewardDetail.launch(WelcomeRewardActivity.this, v.findViewById(R.id.reward_view), welcomeReward);
}
但它会导致“常规”过渡(没有共享元素)。有什么想法吗?
编辑
根据这个视频,可以做到:
https://www.youtube.com/watch?v=RhiPJByIMrM&index=8&list=WL
是否有一个库已经为 pre Lollipop 实现了这个?
【问题讨论】:
-
如果您正在寻找一种在棒棒糖之前的方法,您可以使用此视频作为示例:youtube.com/watch?v=CPxkoe2MraA(请注意,它需要更多的工作才能实现)。
-
支持库 24.2.0 - developer.android.com/topic/libraries/support-library/… 有一个有希望的更新,带有 android.support.transition 包,但它是仅用于视图级的反向移植 API!
标签: java android material-design activity-transition shared-element-transition