【问题标题】:Extending the scrolling area in a ScrollView / WebView / ListView在 ScrollView / WebView / ListView 中扩展滚动区域
【发布时间】:2013-03-17 07:53:32
【问题描述】:

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

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

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

任何帮助将不胜感激。

【问题讨论】:

  • 但我不知道从哪里开始 - 首先查看您定位的小部件的源代码,看看它们如何进行测量以插入您自己的逻辑。如果我是你,我会插入一些虚拟视图。

标签: android listview webview scroll scrollview


【解决方案1】:

显然源代码是我第一个去的地方,但所有这些组件都是数千行的实现。另外,我知道走这条路线有太多潜在的故障点,所以我决定走这条路线,在每个容器的末尾添加一个我控制的视图。

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

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

对于WebView,由于我不希望在这个项目中有任何水平滚动,我坚持用我的自定义ScrollView 包装它。

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

【讨论】:

    猜你喜欢
    • 2017-05-27
    • 2018-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-29
    • 1970-01-01
    • 1970-01-01
    • 2015-05-22
    相关资源
    最近更新 更多