繁体   English   中英

滚动视图内的滚动视图

[英]Scrollview inside of a scrollview

在您 说“谷歌说不要这样做”之前 请阅读我的所有问题!

布局:

ScrollView -> RelativeLayout -> ScrollView -> RelativeLayout

一个 ScrollView是必要的,因为表单条目会拉动某些手机上的软键盘,这会隐藏其余内容。 将ScrollView作为最外层容器允许用户使用软键盘滚动。

层次结构中较低的第二个 ScrollView是ListView,它仍然是可滚动的。

我完全理解为什么开发者不鼓励在另一个ScrollView中使用ScrollView。 我需要想办法让两者一起工作。 尝试在最内部的ScrollView触摸时禁用最外面的ScrollView,但这没有帮助。

有没有办法解决这个问题,两者都有效(当然不是在同一时间)? 在内容页面再次更改之前,我甚至不介意禁用最外面的ScrollView。 必须有一种方式..

步骤1:删除ScrollView

步骤#2:通过addHeaderView()使第一个RelativeLayout成为ListView的标题。

步骤3:通过addFooterView()使第二个RelativeLayout成为ListView的页脚。

实际效果是整个事物都是可滚动的,没有嵌套的可滚​​动项。

只有当您将android:layout_height设置为第二个ScrollView的固定值时,它才会起作用。 最好的方法是根据设备设置大小,因为最好为每个支持的屏幕大小创建布局(dp上的值,如150 dp)。 你应该创建单独的布局:布局小,布局正常,布局大......请参阅此链接以优化固定大小: http//developer.android.com/guide/practices/screens_support.html

答案是以编程方式从最外面的滚动视图中截取触摸事件。 我正在使用我在另一个SOF中找到的关于以编程方式禁用ScrollView的类

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM