更改子布局使 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
这是代码:
有办法解决吗?似乎 requestLayout() 的行为不正确。
已解决。通过更改 xml 结构:
CoordinatorLayout
AppBarLayout
...
Tabs
AnimatableElements
SwipeRefreshLayout
现在我可以使用自定义行为了。
这是我的布局:
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
这是代码:
有办法解决吗?似乎 requestLayout() 的行为不正确。
已解决。通过更改 xml 结构:
CoordinatorLayout
AppBarLayout
...
Tabs
AnimatableElements
SwipeRefreshLayout
现在我可以使用自定义行为了。