ListView控件没有得到空间显示在小屏幕上的内容(ListView not getting sp

2019-10-18 10:57发布

所以,我发展,那里有在顶部,下面是一些图片和按钮的屏幕是一个列表视图,显示了一些活动列表。

该设计是这样的: -

现在,小屏幕上的屏幕空间是采取了由上面的图标和图像ListView的高度变得非常小。

所以,我怎么能增加的LinearLayout的高度或ListView,使用户可以滚动到看到ListView控件的其余部分。

 <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
         .... Other Layouts .....

     <ListView
        android:id="@+id/listArea"
        android:layout_width="match_parent"
        android:layout_height="fill_parent"
        android:paddingLeft="@dimen/list_padding"
        android:paddingRight="@dimen/list_padding" />
</LinearLayout>

编辑:使用顶视图的头列表中,但因为我想要一个EmptyView过,这是创造一个问题,因为它取代了整个头+列表视图尝试

Answer 1:

从我了解这个问题,您应该指定在上面的浏览列表的标题 ,并the'll正常滚动。

据我所知这仅在列表是非空的作品,作为空视图替换整个列表,包括头。



Answer 2:

您可以使用weightSum和layout_weight属性来控制子视图将如何母公司的可用空间的多占用。 要使用这些,父母布局,例如,你的LinearLayout,得到android:weightSum属性。 每个子布局得到android:layout_weight属性,所有子权重的总和是父的weightSum。 此外,每个孩子应该有自己的layout_heightlayout_width设置为0dp ,两者将是由重量来决定。

以下是根据您的图上的例子。 比方说,你希望两个顶视图占用1/4的每个画面,和的ListView占用下半部分。 添加android:weightSum="4"到你LinearLayoutandroid:layout_weight="1"为您与代表两个子布局...Other Layouts... ,和android:layout_weight="2"ListView 。 代码可能是这个样子:

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" 
    android:weightSum="4">

    <ImageView
        android:layout_weight="1"
        android:layout_height="0dp"
        ...some other attributes.../>

    <LinearLayout
        android:layout_weight="1"
        android:layout_height="0dp"
        android:orientation="horizontal"
        ...some other attributes...>
        ...some children of the LinearLayout...
    </LinearLayout>

    <ListView
        android:id="@+id/listArea"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:paddingLeft="@dimen/list_padding"
        android:paddingRight="@dimen/list_padding" 
        android:layout_weight="2"/>

</LinearLayout>


文章来源: ListView not getting space to show content on smaller screens