Пользовательское поведение BottomSheet - выше BottomBar
Я хочу показатьBottomSheet
выше моегоBottomBar
, Поэтому я должен написать на заказBottomSheet
behavior
это поставит мойBottomSheet
выше моегоBottomBar
-BottomBar
имеетshy behavior
(прячется во время прокрутки).
Вот что я пытался реализовать:
public class BottomSheetBehavior<T extends View> extends android.support.design.widget.BottomSheetBehavior<T> {
public BottomSheetBehavior(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public boolean layoutDependsOn(CoordinatorLayout parent, View child, View dependency) {
return dependency instanceof BottomBar;
}
@Override
public boolean onDependentViewChanged(CoordinatorLayout parent, View child, View dependency) {
// This will set the Y of my bottom sheet above the bottom bar every time BottomBar changes its position
child.setY(dependency.getY() - child.getHeight());
// But I also have to modify the bottom position of my BottomSheet
// so the BottomSheet knows when its collapsed in its final bottom position.
child.setBottom((int) dependency.getY() - dependency.getHeight());
return false;
}
}
Пока что это решение не полностью работает. Я могу поставитьBottomSheet
вышеBottomBar
сsetY()
метод. Но расширение и разрушение работает неправильно. Поэтому я попытался изменить нижнюю частьBottomSheet
с методомsetBottom()
Но это не работает ни. Возможно это из-за неправильных единиц (px против dp).
Кто-нибудь может мне помочь исправить мой код или хотя бы подсказать, что именно я делаю неправильно или чего мне не хватает?