【发布时间】:2013-11-29 15:32:04
【问题描述】:
我读过很多文献说不要这样做。但他们还没有提供替代解决方案。不过,这个问题似乎出现了很多。这是我的问题。
我希望我的主布局是可滚动的(这是因为它的视图数量超过了屏幕的大小)。我的主要布局是垂直线性布局。所以现在我把它放在一个 ScrollView 里面。
我的 LinearLayout 的许多子项之一是 ListView(显示 3 个项目,用户滚动 ListView 以获取更多信息)。
1234563另一个可能是 ViewPater;等等。
现在,如果我的 LinearLayout 的内容可以一次全部适应屏幕,我就没有问题了。但我的 LinearLayout 中有大约六个不同的子级,一次只能看到大约三个。所以,是的,我确实需要能够滚动我的 LinearLayout。
还有一件事。如果我滚动子 ListView 并到达终点,我需要父 LinearLayout 来恢复控制并在用户滚动时开始滚动。
澄清
需要澄清的是,我的 ListView 实际上是动态添加到 ViewPager 中的。所以从技术上讲,ViewPager 是我的 LinearLayout 的孩子。但是在 ViewPager 内部,其中一个页面是 ListView。
注意
顺便说一句,我读过scrolling ListView within ScrollView。那里的答案很好,但我仍然有一些问题。
一旦到达 ListView 的边缘,控件就不会恢复为 ScrollView
如果 LinearLayout 的任何其他子视图具有单击侦听器,则我无法使用它们来滚动 ScrollView。所以基本上对于大部分屏幕来说,滚动视图是不可滚动的。
【问题讨论】:
-
对我来说似乎是一个有效的问题。所以我不确定为什么有人投了反对票。请提供 cmets 而不是简单的廉价投票。
-
老实说,这听起来对用户来说是一场噩梦。在可滚动窗口内滚动是用户会觉得困难的事情,这就是应用程序通常不这样做的原因。而是考虑选择一个项目来打开另一个活动或片段或弹出窗口。想想当一个配置项可以打开一组其他选项时,通常如何安排配置活动。如果您查看碎片,那么您也可以满足更大的屏幕需求。
-
其实不是。但我知道它听起来如何。我玩过设计师的模型,它看起来和工作都很好。
-
此外,iOS 版本的应用程序已经创建(隐身模式)并且设计工作正常。
标签: android android-layout listview android-listview