Как использовать преобразование контейнеров в Android ⇐ Android
-
Anonymous
Как использовать преобразование контейнеров в Android
У меня есть два действия, в MainActivity есть кнопка, при нажатии которой я перехожу к следующему действию. Что я хочу сделать, так это (переход между действиями), чтобы кнопка разворачивалась на страницу сведений, когда я возвращаюсь к MainActivity, у нее должен быть обратный переход, как в (материальный дизайн). Я использовал все, как показано в реализации GitHub для Android
Но когда я нажимаю кнопку, переход не работает и отображается эта ошибка
E Анимация RippleDrawable.STYLE_PATTERNED не поддерживается для холста с неаппаратным ускорением. Пропуск анимации. E updateAcquireFence: кадр не найден.
вот мой код:
Действие А:
Кнопка XML
Код:
private void config() { getWindow().requestFeature(Window.FEATURE_ACTIVITY_TRANSITIONS); setExitSharedElementCallback (новый MaterialContainerTransformSharedElementCallback()); getWindow().setSharedElementsUseOverlay(false); } Private void goToActivityWithTransition (Просмотр) { Намерение намерение = новое намерение (MainActivityA.this, MainActivityB.class); Параметры ActivityOptions = ActivityOptions.makeSceneTransitionAnimation( этот, view, // кнопка перейдет к следующему действию --> Activity B. "shared_element_container" // Имя перехода, которое будет сопоставлено в действии B. ); startActivity(намерение, options.toBundle()); } Действие Б:
XML
Код:
private void config() { getWindow().requestFeature(Window.FEATURE_ACTIVITY_TRANSITIONS); findViewById(android.R.id.content).setTransitionName("shared_element_container"); setEnterSharedElementCallback (новый MaterialContainerTransformSharedElementCallback()); getWindow().setSharedElementEnterTransition(новый MaterialContainerTransform(). addTarget(android.R.id.content).setDuration(300L)); getWindow().setSharedElementReturnTransition(новый MaterialContainerTransform(). addTarget(android.R.id.content).setDuration(250L)); } Если вам нужна помощь, пожалуйста, заранее спасибо.
Я пытался включить аппаратное ускорение из AndroidManifest, но ничего не помогло:
Я попробовал это в стиле приложения, но ничего не помогло:
AppThem:
true
У меня есть два действия, в MainActivity есть кнопка, при нажатии которой я перехожу к следующему действию. Что я хочу сделать, так это (переход между действиями), чтобы кнопка разворачивалась на страницу сведений, когда я возвращаюсь к MainActivity, у нее должен быть обратный переход, как в (материальный дизайн). Я использовал все, как показано в реализации GitHub для Android
Но когда я нажимаю кнопку, переход не работает и отображается эта ошибка
E Анимация RippleDrawable.STYLE_PATTERNED не поддерживается для холста с неаппаратным ускорением. Пропуск анимации. E updateAcquireFence: кадр не найден.
вот мой код:
Действие А:
Кнопка XML
Код:
private void config() { getWindow().requestFeature(Window.FEATURE_ACTIVITY_TRANSITIONS); setExitSharedElementCallback (новый MaterialContainerTransformSharedElementCallback()); getWindow().setSharedElementsUseOverlay(false); } Private void goToActivityWithTransition (Просмотр) { Намерение намерение = новое намерение (MainActivityA.this, MainActivityB.class); Параметры ActivityOptions = ActivityOptions.makeSceneTransitionAnimation( этот, view, // кнопка перейдет к следующему действию --> Activity B. "shared_element_container" // Имя перехода, которое будет сопоставлено в действии B. ); startActivity(намерение, options.toBundle()); } Действие Б:
XML
Код:
private void config() { getWindow().requestFeature(Window.FEATURE_ACTIVITY_TRANSITIONS); findViewById(android.R.id.content).setTransitionName("shared_element_container"); setEnterSharedElementCallback (новый MaterialContainerTransformSharedElementCallback()); getWindow().setSharedElementEnterTransition(новый MaterialContainerTransform(). addTarget(android.R.id.content).setDuration(300L)); getWindow().setSharedElementReturnTransition(новый MaterialContainerTransform(). addTarget(android.R.id.content).setDuration(250L)); } Если вам нужна помощь, пожалуйста, заранее спасибо.
Я пытался включить аппаратное ускорение из AndroidManifest, но ничего не помогло:
Я попробовал это в стиле приложения, но ничего не помогло:
AppThem:
true
Мобильная версия