gpt4 book ai didi

Android BottomSheet 适配/缩小相关 map View

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:51:30 29 4
gpt4 key购买 nike

试图在底部模仿当前的谷歌地图栏。我失败了那么多,也尝试了那么多; CollapsingToolbar、BottomSheet、自定义库。

我想要的:当 BottomSheet 滑动时,让 map View 适应它的大小和相机,这样 Bottom Sheet 就不会在 map 上滑动,而是让 map 适应所处的空间离开了。

看看this video看看我的意思(我不是指缩放功能)

最佳答案

BottomBar library 我用过的已弃用。但也许我的代码可以让您了解如何完成。

我对 BottomSheet 的 onSlide 事件的 react 是这样的:

@Override
public void onSlide(@NonNull View bottomSheet, float slideOffset) {
switch (bssBehavior.getState()) {
case BottomSheetBehavior.STATE_DRAGGING:
setMapPaddingBotttom(slideOffset);
searchVM.map.moveCamera(CameraUpdateFactory.newLatLng(lastValidMapCenter));
break;
case BottomSheetBehavior.STATE_SETTLING:
setMapPaddingBotttom(slideOffset);
searchVM.map.moveCamera(CameraUpdateFactory.newLatLng(lastValidMapCenter));
break;
case BottomSheetBehavior.STATE_HIDDEN:
break;
case BottomSheetBehavior.STATE_EXPANDED:
break;
case BottomSheetBehavior.STATE_COLLAPSED:
break;
}

并通过更改填充平滑地调整 map 大小。为了相应地计算它,我使用了某物。像这样。

private void setMapPaddingBotttom(Float offset) {
//From 0.0 (min) - 1.0 (max)
Float maxMapPaddingBottom = bsExpanded - bsCollapsed;
//left,top,right,bottom
searchVM.map.setPadding(0, 0, 0, Math.round(offset * maxMapPaddingBottom));
}

关于Android BottomSheet 适配/缩小相关 map View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45678299/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com