私のアプリには、BottomNavigationViewでmainActivityから膨らんでいる3つのフラグメントがあります。フラグメントの1つはRecyclerViewを使用し、スクロール可能です.BottomNavigationViewによって、recyclerViewの最後の項目が隠されています。 Googleのガイドラインによると、bottomNavigationViewはスクロールダウン時に非表示になり、スクロールアップ時に表示されます。 mainAcitivityから非表示にするのは簡単ですが、他のフラグメントから隠そうとするとうまくいきません。どのようにこれを正しく行うのですか? スクロール状態のためrecyclerViewチェックからこのコード:別のフラグメントからBottomNavigationViewを非表示にする
recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
if (dy > 0) {
//mainActivity.setNavigationVisibility(false);
} else if (dy < 0) {
//mainActivity.setNavigationVisibility(true);
}
}
@Override
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
super.onScrollStateChanged(recyclerView, newState);
}
});
そしてbottomNavigationViewを隠しmainActivityでこのメソッドを呼び出す必要があります:
public void setNavigationVisibility(boolean visible) {
if (navigation.isShown() && !visible) {
navigation.setVisibility(View.GONE);
}
else if (!navigation.isShown() && visible){
navigation.setVisibility(View.VISIBLE);
}
}
これで動作しています、ありがとうございます! –