我创建了一个自定义视图来处理我的底部工作表实现。我曾尝试使用BottomSheetBehavior.from( this )
检索底片行为,但由于我需要构造函数中的行为,this
尚未初始化。
目前,我已经使用postDelayed runnable在1ms处理了一个解决方法来获取行为并做我需要的但是这显然是一个黑客攻击。
我一直无法找到任何其他方法来获得这种行为。
[编辑]
在深入了解之后,this
未被初始化似乎不是问题。问题是当LayoutParams
直接从构造函数调用时,CoordinatorLayout.LayoutParams
不是BottomSheetBehavior.from
的实例,但是当从构造函数中创建的runnable调用时,它们是CoordinatorLayout.LayoutParams
。
答案 0 :(得分:0)
在查看View文档之后,我将视图的构造函数中的调用移动到了onAttachedToWindow方法。
我觉得这比使用runnable更清洁。