如何在Android中以编程方式获取可见屏幕高度?

时间:2011-10-24 23:55:22

标签: size screen titanium appcelerator

在使用Titanium for Android进行开发时,我需要将mapview的尺寸设置为放置在窗口上,特别需要设置mapview的高度。因此,我需要知道可见屏幕大小是什么。

这是布局:  1. Tabgroup(该Android设备的默认大小)  2. Mapview(占据剩下的屏幕房地产)  3.中心图标(放置在mapview中间,固定大小)  4.标签(固定尺寸)  5.按钮(固定大小)

一种方法是以编程方式获取tabgroup高度,然后从platformHeight中减去所有其他元素(tabgroup,标签高度和按钮)。但是我无法找到获得标签组高度的方法 - 有人知道吗?

请注意,我不能在mapview上使用bottom属性(即将其设置为label.height + button.height),因为我仍然需要知道mapview高度是什么,以便我可以将中心图标放在中间的。

任何建议都将不胜感激。

1 个答案:

答案 0 :(得分:1)

通常在渲染项目后,您应该在size属性中看到有效值。这将是一个宽度和高度的对象。

uiobject.size = { width: x, height: x }

如果在渲染对象之前查询它们的大小,它通常会返回零。通过渲染我不一定意味着在屏幕上可见,但放在父视图和组成。该对象可以隐藏/隐藏,但只要布局,这些属性就应该有效。

这应该适用于选项卡组,内部地图视图等。无论您需要用什么来参考。

另外,您是否尝试过使用center属性进行布局?这与上面有相同的注意事项(仅在父视图上有效时才有效),但您应该可以执行以下操作:

parent.add(mapView);
parent.add(centerIcon);
centerIcon.center = mapView.center;