В вашем MainActivity
вы можете реализовать два метода, которые будут отвечать за отображение и скрытие вашего BottomNavigationView
. Например, эти два метода оживляют его, скользя вверх и вниз:
private void hideBottomNavigationView(BottomNavigationView view) {
view.clearAnimation();
view.animate().translationY(view.getHeight()).setDuration(300);
}
public void showBottomNavigationView(BottomNavigationView view) {
view.clearAnimation();
view.animate().translationY(0).setDuration(300);
}
В MainActivity
вы звоните hide
прямо перед открытием CardView
, и звоните show
в onCreate
или onResume
.
EDIT:
Но я думаю, что более понятным способом было бы создать интерфейс в вашем фрагменте:
public interface OnCardViewOpenedInterface{
void onOpen(); // hide bottom bar when photo is opened
void onClose(); // show bottom bar when photo is opened
}
И вызовите эти методы в onStop
и onResume
вашего Fragment
:
@Override
public void onStop() {
super.onStop();
mListener.onClose();
}
@Override
public void onResume() {
super.onResume();
mListener.onOpen();
}
А затем внедрите интерфейс в MainActivity
, переопределите методы onOpen()
и onClose()
и внутри вызовите методы hide
и show
.
Они оба, вероятно, будут работать, может быть, второй слишком сложен, просто мне это нравится больше.