问题描述
我正在创建一个包含多个框架布局和一个滚动布局的自定义视图。滚动视图具有顶部填充,并且该填充应等于框架布局的组合高度(请参见插图)。
framelayoutA.addOnLayoutchangelistener { v,_,_ ->
if (v.height == framelayoutAHeight) return@addOnLayoutchangelistener
framelayoutAHeight = v.height
framelayoutAGuideline.setGuidelineBegin(framelayoutAHeight)
framelayoutBGuideline.setGuidelineBegin(framelayoutAHeight)
val padding = framelayoutAHeight + framelayoutBHeight
Log.d("ParallaxScrollingView","framelayoutAHeight = $framelayoutAHeight")
Log.d("ParallaxScrollingView","padding = $padding")
scrollView.setPadding(0,padding,0)
}
为了设置此填充,我需要框架布局的高度,该高度在onLayoutchangelistener
中。我的问题是,框架布局A的高度被更新两次,导致onLayoutchangelistener
被调用两次。第一次调用时,滚动视图的顶部填充已设置并正确更新,但是第二次调用时,设置了新的顶部填充,但视图未更新。两次布局更改之间需要几秒钟的时间。有谁知道为什么不更新填充?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)