private void transition(View view) { if (Build.VERSION.SDK_INT < 21) { Toast.makeText(ActivityTransitionActivity.this, "21+ only, keep out", Toast.LENGTH_SHORT).show(); } else { Intent intent = new Intent(ActivityTransitionActivity.this, ActivityTransitionToActivity.class); ActivityOptionsCompat options = ActivityOptionsCompat. makeSceneTransitionAnimation(ActivityTransitionActivity.this, view, getString(R.string.transition_test)); startActivity(intent, options.toBundle()); } } }
@Override public void onClick(View v) { ActivityOptionsCompat optionsCompat = ActivityOptionsCompat.makeSceneTransitionAnimation( SharedElementActivity.this, draweeView, SHARED_ELEMENT_NAME); // FIX BUG https://github.com/facebook/fresco/issues/1445 ActivityCompat.setExitSharedElementCallback(SharedElementActivity.this, new androidx.core.app.SharedElementCallback() { @Override public void onSharedElementEnd(List<String> sharedElementNames, List<View> sharedElements, List<View> sharedElementSnapshots) { super.onSharedElementEnd(sharedElementNames, sharedElements, sharedElementSnapshots); for (final View view : sharedElements) { if (view instanceof SimpleDraweeView) { view.setVisibility(View.VISIBLE); } } } }); ActivityCompat.startActivity(SharedElementActivity.this, new Intent(SharedElementActivity.this, SharedElementLaunchedActivity.class), optionsCompat.toBundle()); } });
@Override public void itemClicked(View view, MediaInfo item, int position) { if (view instanceof ImageButton) { Utils.showQueuePopup(getActivity(), view, item); } else { String transitionName = getString(R.string.transition_image); VideoListAdapter.ViewHolder viewHolder = (VideoListAdapter.ViewHolder) mRecyclerView.findViewHolderForPosition(position); Pair<View, String> imagePair = Pair .create((View) viewHolder.getImageView(), transitionName); ActivityOptionsCompat options = ActivityOptionsCompat .makeSceneTransitionAnimation(getActivity(), imagePair); Intent intent = new Intent(getActivity(), LocalPlayerActivity.class); intent.putExtra("media", item); intent.putExtra("shouldStart", false); ActivityCompat.startActivity(getActivity(), intent, options.toBundle()); } }