我们先看看官方:
说的很清楚了,不可移除,只支持调整到固定位置 。
然而,也并不是没有办法,方法可参考
方法1、重写
public class MyTextureMapView extends TextureMapView {private Context context;public MyTextureMapView(Context context) {super(context);}public MyTextureMapView(Context context, AttributeSet attributeSet) {super(context, attributeSet);init(context);}public MyTextureMapView(Context context, AttributeSet attributeSet, int i) {super(context, attributeSet, i);init(context);}public MyTextureMapView(Context context, AMapOptions aMapOptions) {super(context, aMapOptions);init(context);}private void init(Context context) {this.context = context;// view 加载完成时回调this.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {@Overridepublic void onGlobalLayout() {ViewGroup child = (ViewGroup) getChildAt(0);//地图框架// child.getChildAt(0).setVisibility(View.VISIBLE);//地图child.getChildAt(1).setVisibility(View.GONE);//logo}});}}
然后重新引用此类,将可以成功隐藏此 logo 。
方法2、获得后直接监听
![Android 高德地图去掉 logo](http://img.gansulong.com/230709/060T64109-0.jpg)
文章插图
【Android 高德地图去掉 logo】
mapView = findViewById(R.id.map);mapView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {@Overridepublic void onGlobalLayout() {((ViewGroup) mapView.getChildAt(0)).getChildAt(1).setVisibility(View.GONE);mapView.getViewTreeObserver().removeGlobalOnLayoutListener(this);}});// 此方法必须重写mapView.onCreate(savedInstanceState);
这样就可以隐藏 logo 了,和隐藏 logo 的方法是一样的 。
小技巧:
大家可以通过的() 得到子控件的个数,再通过
(int index).(View.GONE) 逐个调试查看哪个子控件被隐藏了 。
- android仿qq动态,Android仿QQ空间主页面的实现
- Android HCE开发
- html5--移动端视频video的android兼容,去除播放控件、全屏等
- 《我的世界》必玩的6大种子地图,每一个都充满挑战,一生难忘 我的世界之最好的地图种子
- 刷新认知的一组趣味地图,地理书上可不会教… 画世界之最地形图视频
- 法媒:欧几里得空间望远镜升空,绘制迄今最精确宇宙3D地图 怎么画中国之最
- 乌克兰自称欧洲祖先,普京翻看古地图,“历史上就没有这个国家” 乌克兰历史之最强国家
- 再也不怕做PPT没地图素材,这里不仅全还能让你的PPT瞬间惊艳 中国之最地图pp
- “世界尽在我手中”!看翔城学子手绘世界地图大PK~ 地理世界之最手绘图
- 检测Android APK备份数据是否开启