2017-02-16 13 views
1

У меня есть два вида деятельности: A и B. Оба имеют ViewPager изображений.Custom Activity Shared Transition

Существует общий переход активности с «текущим» изображением в качестве общего элемента. Например, если пользователь прокручивает третье изображение, имя общего элемента - image_2.

Чтобы выполнить переход я просто называю:

ActivityCompat.startActivityForResult(activity, intent, requestCode, 
     ActivityOptionsCompat.makeSceneTransitionAnimation(activity, sharedElements) 
      .toBundle()); 

Это прекрасно работает.

Я хотел бы добавить пользовательский переход на выход для A (активность вызывающего абонента). Последний должен просто затушить другое мнение.

Как достичь этой цели?

ответ

0

Вы можете указать переход выхода, повторного входа, ввода и возврата, используя следующий метод.

getWindow().setEnterTransition(getEnterTransition()); 
getWindow().setReturnTransition(getReturnTransition()); 
getWindow().setExitTransition(getExitTransition()); 
getWindow().setReenterTransition(getReenterTransition()); 

Конечно, в вашем случае вам нужно только установить переход на выход. Но причина, почему я включаю это, вы, вероятно, хотите установить повторный переход из своей активности.

Чтобы ответить на ваш вопрос (Fade Out), вы можете использовать Fade переход как этот

@SuppressWarnings("NewApi") 
private Transition getExitTransition() { 
    Fade fadeOut = new Fade(Fade.OUT); 
    fadeOut.excludeTarget(android.R.id.navigationBarBackground, true); 
    fadeOut.excludeTarget(android.R.id.statusBarBackground, true); 
    fadeOut.setInterpolator(new FastOutLinearInInterpolator()); 
    fadeOut.setDuration(150); 
    return fadeOut; 
} 

Вы могли заметить, что я исключить панель навигации и строка состояния, он был там, чтобы предотвратить white blinking problem.

Там вы идете , Надеюсь, это поможет.

+0

Я уже пробовал это. Это не работает. – fran