0

Как сделать это взаимодействие Нижним листом и FloatButton, как в Google Map? На первом снимке экрана показаны два FloatButtons. После нажатия на карту второй значок изменения кнопки и прокрутка вверх и переключение на нижнюю границу. (Снимок экрана2).Android BottomSheet с FloatButton

First Screenshot

Second Screenshot

ответ

0

Я полагаю, что FAB сначала привязан к right|bottom от MapView и имеет ту же возвышенность, что и вид BottomSheet.

После BottomSheet выглядывает на некоторую высоту и BottomSheet вершины равна половине высоты FAB, то новый якорь идентификатор прикрепленной к ФАБУ CoordinatorLayout.Params, который в основном является идентификатор BottomSheet вида.

Просто чтобы дать вам указатели код:

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()); 
} 
Смежные вопросы