Несколько общих элементов
У меня есть следующая ситуация внутри футбольного приложения.
Мы хотим реализовать общие элементы между всеми этими действиями.
По моему мнению на первомActivity
на матч я поставилandroid:transitionName
который соответствует тому же transitionName на второмActivity
.
<!-- item_viewholder (first activity) -->
<CustomViewContainingImageViewAndTextView
android:id="@+id/item_match_hometeam"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:transitionName="@string/transition_morph_match_header_homeTeam" />
<!-- header (second activity) -->
<CustomViewContainingImageViewAndTextView
android:id="@+id/item_match_hometeam_header"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:transitionName="@string/transition_morph_match_header_homeTeam" />
Я начинаю второйActivity
с
final String awayTeamTransition = activityContext.getString(R.string.transition_morph_match_header_awayTeam);
final String homeTeamTransition = activityContext.getString(R.string.transition_morph_match_header_homeTeam);
final ActivityOptions options = ActivityOptions.makeSceneTransitionAnimation(
activityContext,
Pair.create(homeTeam, homeTeamTransition),
Pair.create(awayTeam, awayTeamTransition));
activityContext.startActivity(intent, options.toBundle());
Теперь этот переход работает хорошо, но что, если я хочу иметь еще более глубокие детали.
Отображение статистики о выбранной команде, и я хочу, чтобы там тоже был общий переход?
Я пытался установитьtransitionName
программно, когдаCustomViewContainingImageViewAndTextView
был нажат на новыйtransitionName
.
final String teamViewTransition = activityContext.getString(R.string.transition_morph_teamview_to_detail);
//teamView is the view that was clicked.
ViewCompat.setTransitionName(teamView, teamViewTransition);
final ActivityOptions options = ActivityOptions.makeSceneTransitionAnimation(
activityContext,
Pair.create(teamView, teamViewTransition));
activityContext.startActivity(teamInfoActivityIntent, options.toBundle());
это имя_перехода соответствуетImageView
на третьемActivity
<ImageView
android:id="@+id/team_info_header_logo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
, android:transitionName="@string/transition_morph_teamview_to_detail" />
Однако enterTransition не работает, но exitTransition работает!
Однако это нарушает exitTransition от 2 -> 1
Достопримечательность. Надеюсь, кому-то понадобится время, чтобы понять это.
заранее спасибо