Android нижний лист - Как я могу установить onSlide offset на 1, когда состояние карты half_expanded? - PullRequest
2 голосов
/ 17 июня 2020

Я установил, что мой нижний лист не должен быть расширен наполовину, используя следующий код:

bottomSheetBehavior? .IsFitToContents = false bottomSheetBehavior? .HalfExpandedRatio = 0.6f

, и он работает нормально. Проблема в том, что у меня есть контент, который меняет альфа-свойство, когда карточка сдвигается до середины. В половине развернутой точки альфа-канал содержимого должен быть 1. Он отлично работает без использования isFitToContents = false, но когда я использую его для расширения карты наполовину, slideOffset не заканчивается на 1, например, на. 019, потому что я только что немного приподнялся, чтобы добраться до половины.

Поэтому к моей проблеме: как сделать так, чтобы состояние slideOffSet с половинным расширением заканчивалось на 1? можно использовать это заранее как коэффициент масштабирования. Допустим, это значение называлось halfExpandedOffSetEnd. тогда я мог бы создать такой масштабный коэффициент:

val multiplier = 1 / halfExpandedOffSetEnd

я мог бы затем умножить это на все мои смещения, чтобы получить желаемый эффект. но как я могу получить самое последнее значение смещения для расширенной половины раньше времени?

...