У меня есть следующая ситуация внутри приложения для футбола.
Мы хотим реализовать общие элементы между всеми этими действиями.
В моем наблюдателе на первом Activity
для совпадения я установил android: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());
этот переходName соответствует 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
Sight. Надеюсь, что кто-то займет некоторое время, чтобы понять это.
Заранее спасибо