Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/219.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MapView上的android z顺序视图_Android_Android Layout_Z Order - Fatal编程技术网

MapView上的android z顺序视图

MapView上的android z顺序视图,android,android-layout,z-order,Android,Android Layout,Z Order,我有一个带有ItemizedOverlays的谷歌地图视图。然后,我添加一个imageView(不是覆盖)并附加到MapView。如何使ItemizedOverlays位于imageView的顶部?我希望地图视图标记位于顶部 我知道叠加的添加顺序决定了叠加的z顺序,但如何控制新附着视图和叠加的z顺序 MapView扩展了视图组,因此我假设覆盖图是作为视图组的子对象绘制的。这意味着您应该能够使用ViewGroup.addView(视图子级,int索引)插入ImageView,使其显示在覆盖层下面

我有一个带有ItemizedOverlays的谷歌地图视图。然后,我添加一个imageView(不是覆盖)并附加到MapView。如何使ItemizedOverlays位于imageView的顶部?我希望地图视图标记位于顶部


我知道叠加的添加顺序决定了叠加的z顺序,但如何控制新附着视图和叠加的z顺序

MapView扩展了视图组,因此我假设覆盖图是作为视图组的子对象绘制的。这意味着您应该能够使用ViewGroup.addView(视图子级,int索引)插入ImageView,使其显示在覆盖层下面

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

(a)见以下答案:


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

MapView扩展了视图组,因此我假设覆盖图是作为视图组的子对象绘制的。这意味着您应该能够使用ViewGroup.addView(视图子级,int索引)插入ImageView,使其显示在覆盖层下面

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

(a)见以下答案:

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