Android - ListView高度由子项数决定

时间:2017-11-10 01:58:57

标签: android listview layout

我有一个ListView,并希望根据它所拥有的子项数设置高度。

如果数字< x,设置为WRAP_CONTENT,如果数字> gt = = x,则将高度设置为自定义常量值,并进行listView滚动。

if (numberOfChildren > x) {
height = 100px;
 else {
   height = WRAP_CONTENT;
}

我看过一些帖子介绍ViewTreeObserver,但实际上我想知道是否有任何功能和实际上正确的解决方案。

提前致谢。

1 个答案:

答案 0 :(得分:0)

您可以动态使用LayoutParams

if (numberOfChildren > x) {
    listView.setLayoutParams(new ViewGroup.LayoutParams (100, ViewGroup.LayoutParams.WRAP_CONTENT));
else {
   listView.setLayoutParams(new ViewGroup.LayoutParams (ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.MATCH_PARENT));
}