Я создал пользовательский вид для обработки моей реализации нижнего листа. Я попытался восстановить поведение нижнего листа, используя BottomSheetBehavior.from(this)
, но поскольку мне нужно поведение в конструкторе, this
еще не инициализирован.Получить координаторLayout Behavior в конструкторе пользовательского вида
На данный момент мне удалось обходное решение, использующее postDelayed runnable на 1 мс, чтобы получить поведение и сделать то, что мне нужно, но это явно взломать.
Мне не удалось найти другие способы получить поведение.
[EDIT]
Посмотрев немного глубже, кажется, не будет проблемой this
не инициализируется. Проблема в том, что LayoutParams
не является экземпляром CoordinatorLayout.LayoutParams
, когда BottomSheetBehavior.from
вызывается непосредственно из конструктора, но они являются CoordinatorLayout.LayoutParams
при вызове из runnable, созданного в конструкторе.
Вы пытались использовать метод 'view.post (Runnable)'? Это будет выполнено после завершения задачи ожидания. –