Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/210.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android ListView没有空间在较小的屏幕上显示内容_Android_Android Listview_Scroll - Fatal编程技术网

Android ListView没有空间在较小的屏幕上显示内容

Android ListView没有空间在较小的屏幕上显示内容,android,android-listview,scroll,Android,Android Listview,Scroll,所以我正在开发一个屏幕,上面和下面都有一些图像和按钮,这是一个列表视图,显示了一些活动的列表 设计如下:- 现在,在较小的屏幕上,ListView高度变得非常小,因为屏幕空间被上述图标和图像占据 因此,我如何增加Linearlayout或ListView的高度,以便用户可以滚动到查看ListView的其余部分 <LinearLayout android:layout_width="match_parent" android:layout_height="match_pa

所以我正在开发一个屏幕,上面和下面都有一些图像和按钮,这是一个列表视图,显示了一些活动的列表

设计如下:-

现在,在较小的屏幕上,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>

.... 其他布局。。。。。

编辑:尝试使用顶部视图作为列表的标题,但由于我也需要一个空视图,这会产生问题,因为它会替换整个标题+列表视图。根据我对该问题的了解,您应该将顶部视图指定为,并且该视图将正确滚动


好的,这只在列表非空的情况下有效,因为空视图将替换包括标题在内的整个列表。

从我读到的关于该问题的内容来看,您应该将顶部的视图指定为,并且该视图将正确滚动

Afaik这仅在列表非空时有效,因为空视图将替换包括标题在内的整个列表。

您可以使用和属性来控制子视图将占用父视图的可用空间。要使用这些属性,父布局(例如,您的LinearLayout)将获得
android:weightSum
属性。每个子布局都会获得
android:layou-weight
属性,其中所有子布局权重之和就是父布局的权重之和。此外,每个孩子的
layout\u高度
layout\u宽度
应设置为
0dp
,以体重决定的为准

下面是一个基于您的图表的示例。假设您希望两个俯视图分别占据屏幕的1/4,而
列表视图占据下半部分。将
android:weightSum=“4”
添加到您的
LinearLayout
android:layout\u weight=“1”
添加到您用
…其他布局…
表示的两个子布局中,并将
android:layou weight=“2”
添加到
列表视图中。代码可能如下所示:

<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>

……一些直系亲属的子女。。。
您可以使用和属性来控制子视图将占用父视图的可用空间。要使用这些属性,父布局(例如,您的LinearLayout)将获得
android:weightSum
属性。每个子布局都会获得
android:layou-weight
属性,其中所有子布局权重之和就是父布局的权重之和。此外,每个孩子的
layout\u高度
layout\u宽度
应设置为
0dp
,以体重决定的为准

下面是一个基于您的图表的示例。假设您希望两个俯视图分别占据屏幕的1/4,而
列表视图占据下半部分。将
android:weightSum=“4”
添加到您的
LinearLayout
android:layout\u weight=“1”
添加到您用
…其他布局…
表示的两个子布局中,并将
android:layou weight=“2”
添加到
列表视图中。代码可能如下所示:

<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>

……一些直系亲属的子女。。。

正如我刚刚编辑的那样(对不起,忘记了链接):在列表中调用
addHeaderView
,使用膨胀的布局。因此,您将顶部的布局元素作为单独的XML文件放入一个LinearLayout或类似文件中,然后从
ListActivity
getListView().addHeaderView(GetLayoutFlater().inflate(R.Layout.foo,null))我认为这不会解决问题,因为它会使其他视图成为固定视图。现在的情况就是这样。我试图解决的问题是,在较小的屏幕中,listview的高度非常小。我是否可以增加listview的高度,以便用户可以向下滚动查看listview的其余部分?您是否尝试了该代码?正如我刚刚将这一行插入一个(不相关的)android项目,标题开始与整个列表一起滚动(假设列表不是空的,如上所述)。问题是ListView正在滚动,并且不能在一个维度上有一致的可滚动视图。也许(但我不确定)您可以将整个可滚动代码包装到
ScrollView
中,并为列表指定固定高度或包装内容。但是我没有得到你不喜欢的标题。因为我刚刚编辑(忘记了链接,很抱歉):在列表中调用
addHeaderView
,并使用膨胀的布局。因此,您将顶部的布局元素作为单独的XML文件放入一个LinearLayout或类似文件中,然后从
ListActivity
getListView().addHeaderView(GetLayoutFlater().inflate(R.Layout.foo,null))我认为这不会解决问题,因为它会使其他视图成为固定视图。现在的情况就是这样。我试图解决的问题是,在较小的屏幕中,listview的高度非常小。我是否可以增加listview的高度,以便用户可以向下滚动查看listview的其余部分?您是否尝试了该代码?正如我刚刚将这一行插入一个(不相关的)android项目,标题开始与整个列表一起滚动(假设列表不是空的,如上所述)。问题是ListView正在滚动,并且不能在一个维度上有一致的可滚动视图。也许(但我不确定)您可以将整个可滚动代码包装到
ScrollView
中,并为列表指定固定高度或包装内容。但是我没有看到你不喜欢的标题。谢谢@MattDavis,我不想限制上面项目的高度。我只是想在浏览其他项目时将它们向上滚动。谢谢@MattDavis,我不想限制上面项目的高度。我只是想知道