设置列表视图的最大高度

Posted

技术标签:

【中文标题】设置列表视图的最大高度【英文标题】:Set max height for listview 【发布时间】:2012-11-04 06:59:34 【问题描述】:

有些东西真的很愚蠢,但我想为我的列表视图设置一个最大高度,但我似乎找不到有用的东西。有人谈论为列表视图设置 maxheight,但我找不到这个选项? 我现在有

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_
    android:layout_
    android:orientation="vertical"
    android:padding="40dp" >

    <ListView
        android:id="@+id/lvSwitch"
        android:layout_
        android:layout_ >
    </ListView>
</LinearLayout>

但是当列表中只有一项时,它仍然有 120dp 的高度,那当然没有必要,它只是不能超过那个高度......

【问题讨论】:

您好,您应该使用 android:layout_weight="1" 作为列表视图,请看我的回答 @Talha 这在给定布局的上下文中无法实现。当 LinearLayout 中没有其他项时,layout_weight 无用。您至少需要两件物品才能达到预期的效果。 【参考方案1】:

试试这个:

 android:layout_.

编辑: 您可以检查列表视图中的项目数量并设置大小以防其高于 20。类似于:

if(numberOfItems>20)
listview.setWidth(yourSize)

【讨论】:

【参考方案2】:
android:layout_
android:layout_weight="1"

【讨论】:

或许有什么解释?在这种情况下设置的最大高度是多少? 1 个?【参考方案3】:

android:layout="120dp" 一起或代替android:minHeight="20dp",假设20dp 是单个列表项的高度。这样,如果 ListView 有 1 或 2 个东西,它就不会占用整个 120dp。

【讨论】:

以上是关于设置列表视图的最大高度的主要内容,如果未能解决你的问题,请参考以下文章

如何设置 UIView 高度等于两个子视图 UILabel 的最大值?

根据里面的多行文本视图动态设置 ListView 高度

如何设置UIView高度等于两个子视图UILabel的最大值?

是否可以使用约束将视图高度指定为父视图的百分比,但也可以限制最大结果高度?

Flutter - 将包装内容设置为垂直滚动列表视图

仅滚动列表视图,而不滚动其他 div?