/
Irisska
/
Task9
Обзор
Документация
Войти
/
Irisska
/
Task9
Код
Запросы
1
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
progress_bar1
app/src/main/java/com/example/progressbar/utils/SharedElementTransition.kt
40 строк
1 KB
Irisska
ProgressBar
19 мар 2025, 23:08
19 мар 2025, 23:08
c4face9
Код
Авторство
О чём код?
package com.example.progressbar.utils import android.app.Activity import android.content.Intent import android.os.Build import android.util.Pair import android.view.View import androidx.activity.result.ActivityResultLauncher import androidx.core.app.ActivityOptionsCompat import androidx.core.view.ViewCompat fun startSharedElementTransition( activity: Activity, sharedElementView: View, targetActivityClass: Class<*>, targetViewName: String ) { // Проверка, поддерживает ли устройство Shared Element Transition if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { // Привязываем Transition с элементом val options = ActivityOptionsCompat.makeSceneTransitionAnimation( activity, androidx.core.util.Pair(sharedElementView, targetViewName) ) // Запускаем новое Activity с анимацией val intent = Intent(activity, targetActivityClass) activity.startActivity(intent, options.toBundle()) } else { // Если версия Android ниже Lollipop, просто запускаем Activity без анимации val intent = Intent(activity, targetActivityClass) activity.startActivity(intent) } } fun setSharedElementTransition(view: View, viewName: String) { // Настроить название для transitionName элемента ViewCompat.setTransitionName(view, viewName) }