【发布时间】:2012-04-09 23:33:07
【问题描述】:
我在onDraw() 方法的自定义视图中调用getHeight 和getWidth。 getHeight() 返回 1,073,742,549 和 getWidth() 返回 1,073,742,304。但是,当我查看屏幕高度和宽度的显示指标时,我分别得到 800 和 480。 getHeight 和 getWidth 返回什么?
我正在获取视图的尺寸,因此我可以选择将在视图中显示的位图的尺寸。
谢谢。
【问题讨论】:
-
我是 Android 新手,但我也有类似的经历。它与 Android 版本有关,因为同一个项目在 4.1 上运行良好,但在 2.3.6 上出现这种奇怪的行为,可能缺少一些兼容性设置。
-
您是否也在自定义视图中覆盖 onMeasure 并使用 MeasureSpec.makeMeasureSpec(width, MeasureSpec.EXACTLY) 的值调用 setMeasuredDimensions。我相信你得到的值会从 makeMeasureSpec 返回,带有 MeasureSpec.EXACTLY 和你指定的尺寸。
标签: android view viewlayout