gpt4 book ai didi

android - 测量 View 的大小?

转载 作者:行者123 更新时间:2023-11-29 01:55:39 26 4
gpt4 key购买 nike

谁能解释一下我何时以及如何测量从 xml 文件膨胀的 View 的确切大小?

我知道在我调用 setContentView 后, View 的高度和宽度不会立即可用。在 View 完成布局后,一定会有一些回调被调用,但我在 Activity 回调中找不到任何明显的东西。我正在寻找 iOS 编程中“viewDidLoad”的等价物。

我也不太清楚我是如何读取高度和宽度的。 View 上有 getHeight() 和 getWidth() 函数,但我也看到过使用 getLayoutParams().height 和 getLayoutParams().width 的示例。这两个值之间有什么区别,我想要哪个?

我的最终目标是在必要时通过修改宽度(它是横向 View )强制我的 View 具有固定的纵横比。我一直无法在 XML 中找到任何方法来做到这一点,所以我想我可以在运行时读取高度和宽度,计算正确的宽度并进行设置。如果有人知道更好的解决方案,我将不胜感激。

谢谢。

最佳答案

您可以使用 ViewTreeObserver 类。这是一个很好的答案

How to retrieve the dimensions of a view?

第二部分

LayoutParams.height 是您希望 View 布局后的高度,可以设置为特定常量,如 WRAP_CONTENT,getHeight() 返回实际高度(它返回 0,直到 View 未布局)。

关于android - 测量 View 的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15318909/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com