[英]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.