0

Я использую вызов API makeSceneTransitionAnimation из библиотеки Shared Element для совместного использования образа в заголовке сворачивающейся панели инструментов для просмотра подробного представления. Игнорируйте FAB, выглядящий неуместно, я планирую раздвинуть их часть анимации, если я могу заставить это выглядеть лучше.Что, черт возьми, происходит с этой анимацией?

Это выглядит ужасающим: https://youtu.be/Js91TAvwrV0

Heres код:

CollapsingToolbar Sender:

@TargetApi(Build.VERSION_CODES.LOLLIPOP) 
public void LollipopTransition(View v) throws IOException { 
    Log.d("The Jones Theory", "LollipopTransition..."); 
    ImageView imgFavorite = (ImageView) findViewById(R.id.header); 
    final View nestedContent = findViewById(R.id.nested_content); 
    hideView(nestedContent); 
    startActivity(intent, ActivityOptions.makeSceneTransitionAnimation(PostSelectedActivity.this, imgFavorite, "photo_hero").toBundle()); 
} 

DetailView Receiver:

getWindow().getEnterTransition().addListener(new Transition.TransitionListener() { 
     @Override 
     public void onTransitionStart(Transition transition) { 
     } 

     @Override 
     public void onTransitionCancel(Transition transition) { 
     } 

     @Override 
     public void onTransitionPause(Transition transition) { 
     } 

     @Override 
     public void onTransitionResume(Transition transition) { 
     } 

     @Override 
     public void onTransitionEnd(Transition transition) { 
      getWindow().getEnterTransition().removeListener(this); 

      // load the full version, crossfading from the thumbnail image 
      Ion.with(photoView) 
        .crossfade(true) 
        .deepZoom() 
        .load(PostImage); 

     } 

ответ

1

Я помню, имеющих аналогичные проблемы. Из некоторых частей документации кажется, как changeImageTransform должно быть достаточно (и я думаю, что в некоторых версиях это выглядит нормально), но попробуйте добавить changeBounds к вашему transitionSet here, чтобы получить это:

<transitionSet xmlns:android="http://schemas.android.com/apk/res/android"> 
<changeImageTransform/> 
<changeBounds/> 
</transitionSet> 

documentation for changeImageTransform делает сейчас сказать

В сочетании с ChangeBounds ChangeImageTransform позволяет ImageViews изменять размер, форму или ImageView.ScaleType для плавного анимации содержимого.

+0

Да, это определенно выглядит лучше, все еще не так гладко, как я бы надеялся, что это может быть, больно взять еще одно видео завтра и обновить сообщение спасибо за помощь! –

Смежные вопросы