如何在MapView中重新定位内置缩放控件?

我需要将MapView的内置缩放控件放置到与默认位置不同的位置。 虽然使用getZoomControls()方法很容易,但在最近的API版本中不推荐使用此方法。

有没有人知道如何在调用getZoomControls()的情况下执行此操作?

我有一个答案。 我设法用左下角的代码重新定位它,而不是在中间

 FrameLayout.LayoutParams zoomParams = new FrameLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT); ZoomControls controls = (ZoomControls) getZoomButtonsController().getZoomControls(); controls.setGravity(Gravity.LEFT); controls.setLayoutParams(zoomParams); 

除非您正确地对呼叫进行排序,否则此function无效。 这对我有用。

  map.setBuiltInZoomControls(true); FrameLayout.LayoutParams zoomParams = new FrameLayout.LayoutParams( LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT); ZoomControls controlls = (ZoomControls) map.getZoomButtonsController().getZoomControls(); controlls.setGravity(Gravity.TOP); controlls.setLayoutParams(zoomParams); map.displayZoomControls(true); map.getController().setZoom(12); 

@ludwigm的Upvote,唯一对我有用的答案。 谢谢。