如何在Android中的谷歌mapv2重新定位我的位置按钮?

11 android google-maps

我正在使用Google map-V2 API在android中编写应用程序.我想像谷歌地图应用程序一样放置动作栏.然后我启用了"我的位置"按钮.现在的问题是我的位置按钮位于操作栏下.有没有办法重新定位此按钮.我想创建一个类似于地图的应用程序.我是android新手所以请帮助.

CoP*_*LaS 14

您可以将填充设置为地图.

这解决了问题 - 覆盖在顶部的地图上(我使用了48个倾角,但你可以覆盖动作条然后获得它的实际高度(?android:attr/actionBarSize))

mapFragment.getMap().setPadding(0, dpToPx(48), 0, 0);
Run Code Online (Sandbox Code Playgroud)

(DP到PX功能来自这个SO答案)


Ram*_*ash 9

您可以轻松地重新定位您的位置按钮

View plusMinusButton = suppormanagerObj.getView().findViewById(1);
View locationButton = suppormanagerObj.getView().findViewById(2);

// and next place it, for exemple, on bottom right (as Google Maps app)
RelativeLayout.LayoutParams rlp = (RelativeLayout.LayoutParams)     locationButton.getLayoutParams();
// position on right bottom
rlp.addRule(RelativeLayout.ALIGN_PARENT_TOP, 0);
rlp.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, RelativeLayout.TRUE);
Run Code Online (Sandbox Code Playgroud)

Chage LocationButton 您还可以在设置位置按钮的对齐后设置填充

mMap.setPadding(0, 0, 30, 105); 
Run Code Online (Sandbox Code Playgroud)


Ste*_*ett 7

您无法以任何方式更改MyLocationButton,但可以启用和禁用它.已经有了这个请求.

随意禁用按钮,然后实现自己的按钮.

你会有这样的事情:

mMap.getUiSettings().setMyLocationButtonEnabled(false);
Run Code Online (Sandbox Code Playgroud)

  • 对不起......这对我有什么帮助.这不会启用按钮吗? (2认同)