我正在尝试创建一个自定义滚动组件(ScrollViewListViewWebView),该组件的滚动区域(内容区域)可以通过编程方式扩展到内容之外。如果需要,在底部添加“内容填充”。

我认为添加空视图和布局不是一个好方法,因为它似乎有点“ hackey”,并且会限制插入顺序。

我知道在Objective C中,当为iOS编程时,可以直接在contentSize中访问ScrollView,而我正在寻找(或创建)类似的东西。这意味着我认为最好直接影响内容区域大小的计算,但是我不确定从哪里开始。

任何帮助将非常感激。

最佳答案

显然,源代码是我首先去的地方,但是所有这些组件都是数千行实现。另外,我知道该路线存在太多潜在的故障点,因此我决定采用在每个容器末端添加我控制的视图的路线。

对于ListView,我使用合成样式创建了一个自定义ListAdapter,它覆盖了将自定义视图添加为列表中设置的任何适配器中的最后一个视图所需的方法。

对于ScrollView,我在ScrollView内创建了一个隐藏的布局层次结构,覆盖了视图插入方法,以将所有视图插入到我的受控布局中,这是我的填充视图。

对于WebView,由于我不希望在此项目中进行任何水平滚动,因此我坚持使用自定义的ScrollView包装它。

如果有人想要更多细节,您可以发表评论。

关于android - 在ScrollView/WebView/ListView中扩展滚动区域,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15458671/

10-12 04:47
查看更多