为啥列表视图的高度是全尺寸?

Posted

技术标签:

【中文标题】为啥列表视图的高度是全尺寸?【英文标题】:Why height of the list view is Full size?为什么列表视图的高度是全尺寸? 【发布时间】:2021-06-24 05:12:56 【问题描述】:

我希望列表视图显示在文本视图下方。 但是,文本视图不可见,只有列表视图以全尺寸显示。我该如何解决?

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_
    android:layout_
    android:background="@color/white"
    android:orientation="vertical">

    <TextView
        android:id="@+id/textView21"
        android:layout_
        android:layout_
        android:layout_marginBottom="10dp"
        android:gravity="center"
        android:text="채팅"
        android:textColor="#000000"
        android:textSize="20sp" />

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

【问题讨论】:

【参考方案1】:

你应该在列表视图中设置 layout_height = "wrap_content":

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

【讨论】:

【参考方案2】:

这是因为在 ListView 中您使用的是 android:layout_height="match_parent

您可以通过多种方式做到这一点,例如,您可以使用 android:layout_weight 属性。这个属性根据它应该在屏幕上占据多少空间来为视图分配一个“重要性”值。较大的权重值允许它扩展以填充父视图中的任何剩余空间。

类似:

<LinearLayout>
 
       <TextView
         ../>

       <ListView
            android:layout_weight="1"
            .../>

</LinearLayout>

【讨论】:

以上是关于为啥列表视图的高度是全尺寸?的主要内容,如果未能解决你的问题,请参考以下文章

如何减少列表视图项的高度

为啥单击 SwiftUI 中的列表项后列表视图项变为灰色?

表格视图单元格的自动高度尺寸无法正常工作

如何根据 iPhone 尺寸快速使滚动视图达到键盘高度

在 Flutter 的垂直列表中添加动态高度水平列表视图

为啥桌面视图与 iPhone X~iPhone XS Max 的大小不同?