为什么片段无法隐藏底栏
但是活动可以隐藏顶部和底部
使用以下代码:
View decorView = getWindow().getDecorView();
int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION| View.SYSTEM_UI_FLAG_FULLSCREEN;
decorView.setSystemUiVisibility(uiOptions);
getActionBar().hide();
我尝试回答1 但它仍然无效 当我触摸片段区域时 它将显示顶部和底部,让我困惑很多
以下是我的代码: (片段方面)
@Override
public void onCreate(Bundle savedInstanceState)
{
View decorView = getActivity().getWindow().getDecorView();
int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION|View.SYSTEM_UI_FLAG_FULLSCREEN;
decorView.setSystemUiVisibility(uiOptions);
getActivity().getActionBar().hide();
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState)
{
View rootView = inflater.inflate(R.layout.fragment_ge, container, false);
return rootView;
}
答案 0 :(得分:1)
当然你可以隐藏底部的导航栏。
这是我片段中的回收者滚动侦听器。 blogWriteBtn
是我的Floatingactionbutton
,不用担心。
recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
if (dy > 0 && blogWriteBtn.getVisibility() == View.VISIBLE) {
blogWriteBtn.hide();
((MainActivity)getActivity()).SetNavigationVisibiltity(false);
} else if (dy < 0 && blogWriteBtn.getVisibility() != View.VISIBLE) {
blogWriteBtn.show();
((MainActivity)getActivity()).SetNavigationVisibiltity(true);
}
}
});
并在我的MainActivity
中有底部导航栏。我添加了这种方法..
public void SetNavigationVisibiltity (boolean b) {
if (b) {
bottomNavigationView.setVisibility(View.VISIBLE);
} else {
bottomNavigationView.setVisibility(View.GONE);
}
}
它对我来说非常好。在这里,我们调用SetNavigationVisibilty(boolean)
的公共方法MainActivity
。我们可以这样做。
答案 1 :(得分:0)
Chuang,尝试使用View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
而不是您使用的其他两个标志。这是根据我的知识在API 19中引入的,并且要求您使最低SDK版本相同。