发生情景
在使用 CollapsingToolbarLayout 时,需要动态监听滑动状态 OnOffsetChangedListener,并且在滑动回调方法中设置控件属性。
描述
给 CollapsingToolbarLayout 设置 addOnOffsetChangedListener 属性时,频繁抛出如下异常:
08-12 13:14:19.604 2263-2263/com.panoroma.admin W/View: requestLayout() improperly called by android.support.design.widget.CollapsingToolbarLayout{2d353cd6 V.ED.... ........ 0,0-1080,390 #7f0c0070 app:id/collapsing_toolbar} during second layout pass: posting in next frame
08-12 13:14:19.604 2263-2263/com.panoroma.admin W/View: requestLayout() improperly called by android.support.v7.widget.AppCompatTextView{1bb84b57 V.ED.... ........ 168,48-407,119 #7f0c0073 app:id/toolbar_title} during second layout pass: posting in next frame
布局在比较复杂的情况下,可能会发生滑动卡顿。
原因
在 onOffsetChanged 回调方法中频繁的给其他控件设置属性。
解决方案
在 onOffsetChanged 回调方法中根据情况设置条件,避免频繁的给控件赋值。