Android ListView没有空间在较小的屏幕上显示内容
所以我正在开发一个屏幕,上面和下面都有一些图像和按钮,这是一个列表视图,显示了一些活动的列表 设计如下:- 现在,在较小的屏幕上,ListView高度变得非常小,因为屏幕空间被上述图标和图像占据 因此,我如何增加Linearlayout或ListView的高度,以便用户可以滚动到查看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
<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,我不想限制上面项目的高度。我只是想知道