0

我想学习如何解决这个问题。我想要一个水平滚动视图,滚动被阻止(用户不应该能够滚动它)并且在那个水平滚动视图内部我想要另一个水平滚动视图,并且这个滚动视图必须能够被用户滚动(它具有比屏幕宽度更多的内容)。

有可能做到吗?

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

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

这在子水平滚动视图上:

((HorizontalScrollView) view).requestFocus();

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

如何解决?

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

4

2 回答 2

2

您永远不应该将 Horizo​​ntalScrollView 与 ListView 一起使用,因为 ListView 负责自己的滚动。最重要的是,这样做会破坏 ListView 中处理大型列表的所有重要优化,因为它有效地强制 ListView 显示其整个项目列表以填充由 Horizo​​ntalScrollView 提供的无限容器。

http://developer.android.com/reference/android/widget/Horizo​​ntalScrollView.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/

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

于 2012-09-26T12:59:52.860 回答
1

你能行的。但是您必须在滚动视图中处理子布局,即ScrollView 只能承载一个直接子级。

于 2012-09-26T12:47:52.860 回答