Переход с помощью общего элемента Android не работает с SearchView

У меня есть SearchView сидя в левом верхнем углу в одном упражнении и в правом нижнем углу в другом.

   <SearchView
        android:id="@+id/searchView"
        android:layout_width="300dp"
        android:layout_height="50dp"
        android:layout_alignParentStart="true"
        android:layout_below="@+id/toolbar_main"
        android:clickable="false"
        android:focusable="false"
        android:iconifiedByDefault="false"
        android:queryHint="Search a product"
        android:transitionName="search">

и в целевой деятельности

<SearchView
    android:id="@+id/searchView"
    android:layout_width="300dp"
    android:layout_height="50dp"
    android:layout_alignParentBottom="true"
    android:layout_alignParentEnd="true"
    android:clickable="false"
    android:focusable="false"
    android:iconifiedByDefault="false"
    android:queryHint="Search a product"
    android:transitionName="search" />

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

            View mySearch =  findViewById(R.id.searchView);
            ActivityOptions options = ActivityOptions
                    .makeSceneTransitionAnimation(this, mySearch, "search");
            intent = new Intent(this, SearchableActivity.class);
            startActivity(intent,options.toBundle());

Я думал, что это будет просто реализовать:) Но анимации нет, она просто появляется внизу. Я не уверен, где проблема? Есть идеи?

Обновление: я попытался включить анимацию вручную:

// inside your activity (if you did not enable transitions in your theme)
getWindow().requestFeature(Window.FEATURE_CONTENT_TRANSITIONS);
// set an enter transition
getWindow().setEnterTransition(new Explode());
// set an exit transition
getWindow().setExitTransition(new Explode());

плюс включил его в стиле:

    <item name="android:windowContentTransitions">true</item>

а также попробовал с ImageView объект, но это просто не работает по какой-то причине...

1 ответ

Из руководства codepath по переходам с общим элементом: убедитесь, что вы включили android:windowContentTransitions в вашем styles.xml:

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="android:windowContentTransitions">true</item>
    ...
</style>
Другие вопросы по тегам