Прозрачность фона общих границ Jetpack ComposeAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Прозрачность фона общих границ Jetpack Compose

Сообщение Anonymous »

Я тестирую относительно новый Modifier.sharedBounds() в Jetpack Compose для анимации между карточкой и следующим экраном, который представляет собой Scaffold.Проблема в том, что фон карты исчезает одновременно с исчезновением ее содержимого (при этом используется один и тот же переход при входе и выходе). Это приводит к некрасивым промежуточным кадрам, когда вся карточка наполовину прозрачна и видно содержимое под ней.
Я бы хотел, чтобы карточка оставалась непрозрачной только с исчезновение контента между исходным и целевым представлением.

Аналогично тому, как это делалось раньше при преобразовании контейнера.
Возможно ли это?< /p>
Вот код того, что у меня уже есть для улучшения понимание.
Карта:

Код: Выделить всё

ElevatedCard(
modifier = Modifier
...
.sharedBounds(
sharedContentState = sharedTransitionScope.rememberSharedContentState(key = "bounds_$id"),
animatedVisibilityScope = animatedVisibilityScope,
resizeMode = SharedTransitionScope.ResizeMode.RemeasureToBounds,
placeHolderSize = SharedTransitionScope.PlaceHolderSize.animatedSize,
)
) {
... // content of the Card
}
Эшафот:

Код: Выделить всё

Scaffold(
modifier = Modifier
...
.sharedBounds(
sharedContentState = sharedTransitionScope.rememberSharedContentState(key = "bounds_$id"),
animatedVisibilityScope = animatedVisibilityScope,
resizeMode = SharedTransitionScope.ResizeMode.RemeasureToBounds,
)
) {
... // content of the target screen
}
Если я правильно понимаю, руководство разработчика кратко упоминает проблему в своем видео на YouTube с отметкой времени 14:32, но мне не удалось найти решение.
Я пробовал возиться с Modifier.renderInSharedTransitionOverlay() и менять zIndexOverlay в Modifier.sharedBounds(), но безрезультатно.
Мои вопросы:
  • Можно ли получить контейнер (в данном случае Карту) ) остаются непрозрачными, пока содержимое исчезает до целевого состояния?
  • Если нет, есть ли обходные пути?


Подробнее здесь: https://stackoverflow.com/questions/793 ... ansparency
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»