安卓kotlin中MapView与底部对话框存在bug
创始人
2024-11-09 11:30:27
0

在底部对话框打开前暂时禁用MapView的滚动功能。

示例代码:

class MainActivity : AppCompatActivity() {

    private var isBottomSheetOpen = false
    private lateinit var mapView: MapView

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        mapView = findViewById(R.id.map_view)
        val mapFragment = supportFragmentManager.findFragmentById(R.id.map_fragment) as? SupportMapFragment

        mapFragment?.getMapAsync { googleMap ->

            // 地图滚动监听
            googleMap.setOnCameraMoveListener {

                // 如果底部对话框处于展开状态,则禁用地图滚动功能
                if (isBottomSheetOpen) {
                    mapView.setScrollContainer(false)
                }

            }

            // 底部对话框状态监听
            val bottomSheet = findViewById>(R.id.bottom_sheet)
            bottomSheet.addBottomSheetCallback(object : BottomSheetBehavior.BottomSheetCallback() {
                override fun onSlide(bottomSheet: View, slideOffset: Float) {
                    // do nothing
                }

                override fun onStateChanged(bottomSheet: View, newState: Int) {
                    // 当底部对话框展开时,设置isBottomSheetOpen为true
                    isBottomSheetOpen = newState == BottomSheetBehavior.STATE_EXPANDED

                    // 如果地图当前处于展开状态,则禁用地图滚动功能
                    if (isBottomSheetOpen) {
                        mapView.setScrollContainer(false)
                    } else {
                        mapView.setScrollContainer(true)
                    }
                }
            })

        }
    }
}

在上述代码中,我们通过监听底部对话框的展开状态,控制isBottomSheetOpen的取值,并在地图滚动事件发生时,如果底部对话框处于展开状态,则禁用地图的滚动功能。

相关内容

热门资讯

揭幕透视!pokemmo内置修... 揭幕透视!pokemmo内置修改器!确实真的是有辅助工具(详细教程)-哔哩哔哩1、进入到pokemm...
分享透视!epoker有透视吗... 分享透视!epoker有透视吗!都是有辅助工具(的确有挂)-哔哩哔哩epoker有透视吗是不是有人用...
解谜透视!红龙poker辅助器... 解谜透视!红龙poker辅助器免费观看!竟然真的有辅助教程(有挂猫腻)-哔哩哔哩1、完成红龙poke...
详细透视!德州圈脚本!总是是有... 详细透视!德州圈脚本!总是是有辅助app(真实有挂)-哔哩哔哩1、金币登录送、破产送、升级送、活动送...
有挂透视!德州局脚本!一贯一直... 有挂透视!德州局脚本!一贯一直总是有辅助教程(存在有挂)-哔哩哔哩德州局脚本能透视中分为三种模型:德...
关于透视!pokemmo脚本最... 您好,pokemmo脚本最新版这款游戏可以开挂的,确实是有挂的,需要了解加去威信【485275054...
有挂透视!哈糖大菠萝破解器!一... 有挂透视!哈糖大菠萝破解器!一贯一直都是有辅助神器(有挂教学)-哔哩哔哩1、哈糖大菠萝破解器破解器简...
了解透视!拱趴大菠萝挂哪里!果... 了解透视!拱趴大菠萝挂哪里!果然一直都是有辅助攻略(有挂细节)-哔哩哔哩1、很好的工具软件,可以解锁...
必备透视!扑克之星辅助!切实是... 必备透视!扑克之星辅助!切实是有辅助软件(有挂解惑)-哔哩哔哩一、扑克之星辅助游戏安装教程牌型概率发...
必备透视!sohoo竞技联盟辅... 必备透视!sohoo竞技联盟辅助器!总是是有辅助攻略(存在有挂)-哔哩哔哩1)sohoo竞技联盟辅助...