在MapView上查看android z-order

时间:2012-10-08 01:44:46

标签: android android-layout z-order

我有一个带有ItemizedOverlays的谷歌MapView。然后我添加一个imageView(不是Overlay)并附加到MapView。如何让ItemizedOverlays位于imageView之上?我希望MapView标记位于顶部。

我知道叠加层的添加顺序决定了叠加层的z顺序,但是如何控制新附加视图的z顺序以及叠加层?

1 个答案:

答案 0 :(得分:1)

MapView扩展了ViewGroup,因此我假设Overlays被绘制为ViewGroup的子级。这意味着您应该能够使用ViewGroup.addView(View child,int index)插入ImageView,使其显示在Overlays下方。

更好的方法是自己扩展MapView,并尝试覆盖(a)ViewGroup.getChildAt(int index)或(b)ViewGroup.getChildDrawingOrder(int childCount,int i)。取决于MapView如何实现其绘制顺序(例如,LinearLayout的Z顺序, 其子视图顺序)。

(a)见答案:Sort buttons alphabetically

对于(b),您还需要通过调用setChildrenDrawingOrderEnabled(启用布尔值)来设置绘图顺序。