如何使这种交互像在谷歌地图中一样底部工作表和浮动按钮?第一个屏幕截图显示了两个浮动按钮。单击地图后,第二个按钮将更改图标并向上滚动并挂钩在底部工作表边缘。(截图2)。
第一个截图
第二个截图
FAB 首先锚定在MapView
的right|bottom
,并且具有与BottomSheet
视图相同的高程。
一旦BottomSheet
窥视到某个高度并且顶部等于 FAB 高度的一半BottomSheet
那么一个新的锚 id 就会附加到 FAB CoordinatorLayout.Params
,这基本上是视图BottomSheet
id。
只是为了给你代码指针:
CoordinatorLayout.Behavior behavior = (CoordinatorLayout.Behavior)fab.getLayoutParams();
int boundary = fab.getTop() + (fab.getHeight() * 0.5);
//inside `BottomSheet` callback methods
if(sheetView.getTop() >= boundary){
//sheet is expanding or its peeking height was changed
behavior.setAnchorId(sheetView.getId());
} else if (sheetView.getTop() <= boundary){
//sheet is animating to collapse, being collapsed
behavior.setAnchorId(mapView.getId());
}
这里有一个很好的参考,可以帮助你入门:
如何实现底表
底部工作表上的 Android 开发者博客
为了进一步帮助您,请发布现有代码和您尝试过的内容。