更改子布局使 AppBarLayout$ScrollingViewBehavior 错误

Change child layout make AppBarLayout$ScrollingViewBehavior incorrectly

这是我的布局:

CoordinatorLayout AppBarLayout ... AnimatableTabs SwipeRefreshLayout

而且现在没有问题了。

现在向下手势的行为是:

1.Expand AppBarLayout 第一。

2.show pullDownRefresh SwipeRefreshLayout 秒圆

但是,在我为 AnimatableTabs 添加动画后。

```科特林 appbar.addOnOffsetChangedListener { appBarLayout, verticalOffset -> ...

// FIXME: 2018/3/5
//This code make behavior incorrectly.
ll_tabs.apply {
    ll_tabs_left.apply widthProvider@ {
        layoutParams = (layoutParams as LinearLayout.LayoutParams).apply {
            leftMargin = (this@widthProvider.width * collapsedHotPercent).toInt()
        }
    }
    ll_tabs_right.apply widthProvider@ {
        layoutParams = (layoutParams as LinearLayout.LayoutParams).apply {
            rightMargin = (this@widthProvider.width * collapsedHotPercent).toInt()
        }
    }

    //It seems requestLayout() make behavior incorrectly.
}

}

出现问题:

向下手势的行为是:

展开AppBarLayout同时显示pullDownRefresh Circle

这是代码:

code on GitHub

有办法解决吗?似乎 requestLayout() 的行为不正确。

已解决。通过更改 xml 结构:

CoordinatorLayout AppBarLayout ... Tabs AnimatableElements SwipeRefreshLayout

现在我可以使用自定义行为了。