Переход с помощью общего элемента 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>