【问题标题】:Get CoordinatorLayout Behavior in Constructor of Custom View在自定义视图的构造函数中获取 CoordinatorLayout 行为
【发布时间】:2016-12-30 00:05:37
【问题描述】:

我创建了一个自定义视图来处理我的底部工作表实现。我尝试使用BottomSheetBehavior.from( this ) 检索底部表行为,但由于我需要构造函数中的行为,this 尚未初始化。

目前,我已经使用 postDelayed runnable at 1ms 管理了一个解决方法来获取行为并执行我需要的操作,但这显然是一个 hack。

我一直无法找到任何其他方法来获得这种行为。

[编辑]

在深入研究之后,this 没有被初始化似乎不是问题所在。问题是LayoutParams 不是CoordinatorLayout.LayoutParams 的实例,当BottomSheetBehavior.from 直接从构造函数调用时,它们是CoordinatorLayout.LayoutParams,当从构造函数中创建的runnable 调用时。

【问题讨论】:

  • 您是否尝试过使用view.post(Runnable) 方法??这将在视图挂起任务完成后执行。

标签: android android-coordinatorlayout bottom-sheet


【解决方案1】:

在查看了更多视图文档之后,我将调用从视图的构造函数移到了它的 onAttachedToWindow 方法。

我发现这比使用 runnable 要干净得多。

【讨论】:

    猜你喜欢
    • 2018-05-04
    • 2011-02-22
    • 2011-10-21
    • 2018-03-06
    • 1970-01-01
    • 2016-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多