【问题标题】:How can I find the measured height of views?如何找到测量的视图高度?
【发布时间】:2011-06-11 17:10:40
【问题描述】:

我需要在不测量所有视图的情况下计算视图的测量高度,因为这些视图包含从互联网获取的图像。当我测量视图时,他们将图像下载到内存中,我发现内存不足异常。我使用自定义 ScrollViews,它的工作方式类似于 ListViews,显示部分视图,并在滚动时添加到底部或顶部。

如何在不抛出内存不足异常的情况下计算所有视图的高度?

或者如何让 ListView 在渲染视图之前计算它的高度?

【问题讨论】:

  • 对不起,我无法弄清楚这里问的是什么。
  • 我有滚动视图(使用列表视图不是我的任务的方法)。我有很多孩子的观点。这个 childsviews 在运行时添加和删除。我现在需要在它们撕裂之前所有视图的高度。并将此高度的总和设置为滚动视图的滚动范围。
  • 你问了两个问题。 1)您可以通过仅使用 BitmapFactory 和解码边界(请参阅stackoverflow.com/questions/2641726/…)来测量图像而不将它们加载到内存中,然后您的一些自定义逻辑可以计算出当放置在您的视图层次结构中时它们将被缩放到什么大小。回答 2) 回复:渲染前计算视图高度见stackoverflow.com/a/8403680/236743

标签: android height scrollview measure


【解决方案1】:

您回答了自己的问题:

显示部分视图,滚动时添加到底部或顶部。

ListView 不知道它尚未看到的项目的高度。它列出了它知道的部分或全部项目,在顶部和底部添加了一些额外的 UI 以直观地指示可能还有更多项目,然后滚动显示。 ListView 的总可滚动范围可以随着添加更多项目而改变。

【讨论】:

    【解决方案2】:

    您可以使用getLeft(), getTop(), getRight() and getBottom() 这些方法的视图。了解更多信息 。见以下链接 http://developer.android.com/reference/android/view/View.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-28
      • 2012-12-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多