如何解决设置填充不会更新视图
我正在创建一个包含多个框架布局和一个滚动布局的自定义视图。滚动视图具有顶部填充,并且该填充应等于框架布局的组合高度(请参见插图)。
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 举报,一经查实,本站将立刻删除。