在包含 ListView (Android) 的视图中滚动

Posted

技术标签:

【中文标题】在包含 ListView (Android) 的视图中滚动【英文标题】:Scrolling in a view containing a ListView (Android) 【发布时间】:2012-02-19 04:16:21 【问题描述】:

在我的一项活动中,我展示了某些信息,最后我有一个ListView。 所以我的布局看起来有点像:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_
android:layout_
android:padding="30dip"
>
  ...
  <ListView android:id="@android:id/android:list" android:layout_
        android:layout_ />

</LinearLayout>

当我在模拟器中运行应用程序时,我看到列表视图之前的信息始终显示在屏幕中,并且只有ListView 有垂直滚动。

有没有办法改变这种滚动行为?我想要的是屏幕中所有信息的垂直滚动,而不仅仅是ListView的级别。

我尝试用ScrollView 包装LinearLayout,为所有涉及的视图使用android:layout_height 属性的不同组合,但我没有得到我想要的效果。此外,有人说用ScrollView 包裹ListView 是一个非常糟糕的主意:

Android ScrollView layout problem

Scrolling with Multiple ListViews for Android

感谢您提出任何其他想法。

【问题讨论】:

您可能需要重新考虑布局的设置方式。例如,您可以将 ListView 上方的任何内容作为第一个(和第二个等)项目添加到列表视图中 【参考方案1】:

我没有试过这个,但你可能想看看你的管视频: Google I/O 2010 - ListView 的世界

http://www.youtube.com/watch?v=wDBM6wVEO70

从 27:11 开始,它讨论了如何使用 ListView 滚动 ListView 上方和/或下方的信息。它指的是滚动页眉和页脚,但它确实表示您可以在其中放置任何您想要的东西。

【讨论】:

以上是关于在包含 ListView (Android) 的视图中滚动的主要内容,如果未能解决你的问题,请参考以下文章

Android ListView 失去焦点

Android在drawerlayout的listview底部添加textview

当 onDatasetChanged 方法包含异步网络调用 Android 时,小部件 ListView 不刷新

Android中ListView包含CheckBox时滑动丢失选中状态的解决

Android 上的 Xamarin.Forms ListView OutOfMemoryError 异常

Android 在按钮单击时创建 ListView