【问题标题】:why fragment can't hide bottom bar为什么片段不能隐藏底栏
【发布时间】:2014-04-22 10:11:22
【问题描述】:

为什么片段不能隐藏底栏

但活动可以隐藏顶部和底部

使用以下代码:

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;
}

【问题讨论】:

  • 感谢Simple Plan可以回复我
  • 你找到解决办法了吗?

标签: android fragment navigationbar


【解决方案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);
    }
}

它对我来说非常好。这里我们调用了MainActivity的公共方法SetNavigationVisibilty(boolean)。我们可以这样做。

【讨论】:

    【解决方案2】:

    Chuang,试试View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY,而不是你用过的其他两个标志。据我所知,这是在 API 19 中引入的,并且要求您具有相同的最低 SDK 版本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-27
      相关资源
      最近更新 更多