由于listview的onMeasure()的测量模式,当内容不足以占满父类高度时,无论设置wrap_content还是match_parent都无法满足预期控制对应高度,于是需要在匹配数据后动态设置其高度。计算代码如下:
1 | public static void setListViewHeightBasedOnChildren(final ListView listView) { |
注意事项:
-
对应listview布局的父布局或者说根布局必须为linearlayout,否则次方法设置无效,具体原因还是因为RV和LV的onMeasure()方法不同导致,因为这个坑,浪费了大半天时间,这里特别标注,之后遇到就不会再被坑了。
-
继续深入学习推荐鸿洋大神的 Android LayoutInflater深度解析 给你带来全新的认
赞赏一下