安卓一个Activity两个fragment显示天地图mapview 重叠问题办法

在Android应用中,使用Fragment切换时遇到了天地图MapView重叠的问题。尝试了多种方法未能解决,最终通过在Fragment内部进行特定处理成功避免了重叠。参考链接提供了解决方案详情。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  case 4:
                        if (framentTest222 == null) {
                            framentTest222 = new FramentTest222();
                            getSupportFragmentManager().beginTransaction().add(R.id.fragment, framentTest222).commit();
                        } else {
                            getSupportFragmentManager().beginTransaction().show(framentTest222).commit();
                        }
                        break;
                    case 5:
                        if (fragmentPatroll == null) {
                            fragmentPatroll = new FragmentPatroll1();
                            getSupportFragmentManager().beginTransaction().add(R.id.fragment, fragmentPatroll).commit();
                        } else {
                            getSupportFragmentManager().beginTransaction().show(fragmentPatroll).commit();
                        }
                        break;
                    case 6:

fragment 切换用hide show 方式

后面遇到两个天地图fragment切换时后一个fragment的地图被前一个fragment的地图重叠覆盖了,百度了很多办法解决不了,最后fragmen里代码里加了这个就解决了

@Override
    public void onHiddenChanged(boolean hidden) {
        super.onHiddenChanged(hidden);
        if (hidden) {
            SurfaceView childAt = (SurfaceView) mMapView.getChildAt(0);
            childAt.setVisibility(View.GONE);
            LogTagUtils.logGisInfo("=====onHiddenChanged=FragmentPatroll1不见了");
            stopLocation();
        } else {
            SurfaceView childAt = (SurfaceView) mMapView.getChildAt(0);
            childAt.setVisibility(View.VISIBLE);
            startLocation();
            LogTagUtils.logGisInfo("=====onHiddenChanged=FragmentPatroll1见到");
        }
    }

参考链接:https://blog.youkuaiyun.com/u013068887/article/details/56844862

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值