是否可以在另一个ScrollView中使用ScrollView?

时间:2012-09-26 12:04:50

标签: android android-layout scrollview horizontalscrollview

我想学习如何解决这个问题。我希望有一个水平滚动视图,滚动被阻止(用户不能滚动它)和水平滚动视图内部我希望有另一个水平滚动视图,这个滚动视图必须能够由用户滚动(它有更多的内容,屏幕的宽度)。

有可能吗?

我尝试在父水平滚动视图中使用它:

((HorizontalScrollView) view).setHorizontalScrollBarEnabled(false);
((HorizontalScrollView) view).setEnabled(false);
((HorizontalScrollView) view).setFocusable(false);
((HorizontalScrollView) view).setFocusableInTouchMode(false);

并在子水平滚动视图上显示:

((HorizontalScrollView) view).requestFocus();

它不起作用,孩子似乎有一个滚动条,但它无法滚动。

如何解决这个问题?

PD:我知道这不是一个好习惯,但我想学习如何实现这个目标。

2 个答案:

答案 0 :(得分:2)

  

你永远不应该使用   带有ListView的Horizo​​ntalScrollView,   因为ListView负责自己的   滚动。最重要的是,做   这打败了所有重要的   在ListView中进行优化以进行处理   有大型列表,因为它有效   强制ListView显示它   整个项目清单填写完整   无限容器供应   Horizo​​ntalScrollView。

http://developer.android.com/reference/android/widget/HorizontalScrollView.html

UPDATE:

Since you may be forced to use a two dimensional scrollview, you may consider using this:

http://blog.gorges.us/2010/06/android-two-dimensional-scrollview/

我没有用过它,但这可能是一种合理的方法。

答案 1 :(得分:1)

你可以做到。但是你必须在scrollview中处理子布局,即 ScrollView只能托管一个直接子项。