У меня есть 2 действия, и я хочу показать переход на панели приложения, когда пользователь меняет действия.
Я использовал sharedElement
и transitionName
, чтобы обеспечить этот переход. Переход работает хорошо, но когда я возвращаюсь к начальной активности, панель приложения изменилась ... Смотрите FAB. С темной темой, цвет фона панели приложения меняется.
Почему? Я думаю, что не хватает чего-то, чтобы вернуться к первоначальному стилю, но что?
Панель приложения первого действия ДО перехода
Панель приложения первой активности ПОСЛЕ перехода
Панель приложения второй активности
Код для начала второго действия:
val options = ActivityOptionsCompat.makeSceneTransitionAnimation(
this,
Pair.create<View, String>(appBar, getString(R.string.transitionName_appBar)),
Pair.create<View, String>(appBar_fab, getString(R.string.transitionName_appBarFab))
)
startActivity(intentFor<AddExpenseActivity>(), options.toBundle())
Панель приложения первого действия:
<com.google.android.material.bottomappbar.BottomAppBar
android:id="@+id/appBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:transitionName="@string/transitionName_appBar"
app:layout_dodgeInsetEdges="bottom"
app:hideOnScroll="true"
app:navigationIcon="@drawable/ic_menu"
app:layout_scrollFlags="scroll|enterAlways" />
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/appBar_fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_add"
android:transitionName="@string/transitionName_appBarFab"
app:tint="@null"
app:layout_anchor="@id/appBar" />
Панель приложения второго действия:
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/addExpense_appBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:transitionName="@string/transitionName_appBar">
<androidx.appcompat.widget.Toolbar
android:id="@+id/addExpense_toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_scrollFlags="scroll|enterAlways"
app:title="Add Expense"/>
</com.google.android.material.appbar.AppBarLayout>
Наконец-то мойтема для перехода
<item name="windowNoTitle">true</item>
<item name="android:windowActivityTransitions">true</item>
<item name="android:windowContentTransitions">true</item>
<item name="android:windowEnterTransition">@android:transition/fade</item>
<item name="android:windowExitTransition">@android:transition/fade</item>
<item name="android:windowReturnTransition">@android:transition/fade</item>
<item name="android:windowSharedElementEnterTransition">@android:transition/move</item>
<item name="android:windowSharedElementExitTransition">@android:transition/move</item>
<item name="android:windowSharedElementReturnTransition">@android:transition/move</item>
Есть идеи?
Спасибо