【发布时间】:2016-03-01 16:09:53
【问题描述】:
如何使这种交互底部表和 FloatButton 像在谷歌地图中一样? 第一个屏幕截图显示了两个 FloatButtons。点击地图后,第二个按钮更改图标并向上滚动并钩在 bottomSheet 边缘。(屏幕截图2)。
【问题讨论】:
标签: android material-design floating-action-button android-support-design
如何使这种交互底部表和 FloatButton 像在谷歌地图中一样? 第一个屏幕截图显示了两个 FloatButtons。点击地图后,第二个按钮更改图标并向上滚动并钩在 bottomSheet 边缘。(屏幕截图2)。
【问题讨论】:
标签: android material-design floating-action-button android-support-design
我认为 FAB 首先锚定到 MapView 的 right|bottom 并且与 BottomSheet 视图具有相同的高度。
一旦BottomSheet窥视到某个高度并且BottomSheet顶部等于FAB高度的一半,那么一个新的锚ID附加到FABCoordinatorLayout.Params,基本上就是id@987654327 @视图。
只是给你代码指针:
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());
}
【讨论】:
【讨论】: