我在扩展ScrollView的类中使用LinearLayout。 LinearLayout具有多个子节点,其高度在我的自定义类的覆盖onScrollChanged()方法中更改。如果滚动缓慢执行,一切都很完美。如果我用快速动作快速滚动儿童的高度frizzes。我在重写的onScrollChange()方法中创建了日志输出,它显示了未应用布局参数。
Log.v("myapp", "getHeight: "+mChildHolder.getChildAt(i).getHeight());
Log.v("myapp", "getLayoutParams.height "+mChildHolder.getChildAt(i).getLayoutParams().height);
输出:
getHeight: 45
getLayoutParams.height 90
为什么scrollview在弹出后不允许应用LayoutParams的任何想法?
答案 0 :(得分:0)
看起来找到了解决方案。我最终在每次调用onScrollChanged()时调用requestLayout()。不确定它在性能方面是否有效但现在可以按预期工作。