Ответ 1
Переход Fade будет использовать аппаратные уровни, когда ваше представление имеет "hasOverlappingRendering()" return true. Это было сделано для производительности. У вас должно быть много просмотров, которые все исчезают отдельно.
У вас есть пара вариантов. Один из них заключается в том, что ваши представления имеют hasOverlappingRendering return false. Это может быть невозможно во всех случаях, но этого может быть достаточно, чтобы решить вашу проблему. Помните, что это означает, что скрытые представления не должны пересекаться!
Второе - это переход к меньшему количеству просмотров отдельно. Вы можете сделать это, установив android: transitionGroup = "true" в ViewGroups, которые должны быть выведены вместе. Например, если у вас есть ListView без фона, вы в конечном итоге переходите каждый элемент отдельно. Вместо этого вы можете установить для свойства ListView transitionGroup значение true, а затем они будут переходить вместе.
- обновить -
Проблема, с которой вы сталкиваетесь, заключается в том, что входящие объекты, которые затухают, слишком велики. Я попробовал следующий вид в запуске Activity:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:onClick="clicked"
>
<TextView
android:id="@+id/hello_world"
android:transitionName="hello"
android:text="@string/hello_world"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</RelativeLayout>
Да, базовое приложение hello world от android, дающее id и transitionName для текста. Обработчик onClick запускает только вторую активность, передавая hello world View как общий элемент. Второе действие имеет чрезвычайно большой TextView, похожий на ваш:
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:transitionGroup="true"
>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/hello_world"
android:transitionName="hello"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:text="@string/hello_world" />
<TextView
android:layout_below="@+id/hello_world"
android:text="Lorem ipsum.... I didn't copy all of my text"
android:textSize="30sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</RelativeLayout>
</ScrollView>
Переключение перехода из списка ScrollViewGroup из значения false (значение по умолчанию) в значение true заставляет его работать, потому что тогда ScrollView исчезает. ScrollView имеет максимальный размер, а его содержимое может быть огромным.