当前位置: 首页 > 知识库问答 >
问题:

底部导航视图隐藏

习斌
2023-03-14

我的应用程序有问题。我有一个底部导航视图,包含3个不同的片段,尽管目前只有主要的内容。当我试图从左侧的两个片段中的一个移动到主视图时,问题就出现了,即当底部导航视图被隐藏时。我附上了主代码。

PD:我有25.3.1版本的所有库(如果有用的话)。

感谢您的关注。

activity\u main。xml

    <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/containerr"
android:layout_width="match_parent"
android:layout_height="match_parent">

<FrameLayout
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="bottom">

<android.support.design.widget.BottomNavigationView
    android:id="@+id/navigation"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom"
    android:background="#0f6b96"
    app:itemIconTint="@drawable/color_state_light"
    app:itemTextColor="@drawable/color_state_light"
    app:menu="@menu/menu_bottom_navigation_basic">

</android.support.design.widget.BottomNavigationView>

主要活动。Java语言

BottomNavigationView bottomNavigationView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    bottomNavigationView = (BottomNavigationView) findViewById(R.id.navigation);
    bottomNavigationView.setOnNavigationItemSelectedListener(onNavigationItemSelectedListener);
    FragmentManager fragmentManager = getSupportFragmentManager();
    FragmentTransaction transation = fragmentManager.beginTransaction();
    transation.replace(R.id.container, new Home()).commit();


}
private BottomNavigationView.OnNavigationItemSelectedListener onNavigationItemSelectedListener = new BottomNavigationView.OnNavigationItemSelectedListener() {
    @Override
    public boolean onNavigationItemSelected(@NonNull MenuItem item) {

        FragmentManager fragmentManager = getSupportFragmentManager();
        FragmentTransaction transation = fragmentManager.beginTransaction();


        switch (item.getItemId()){

            case R.id.home:
                transation.replace(R.id.container, new Home()).commit();
                return true;

            case R.id.ofertas:
                transation.replace(R.id.container, new Ofertas()).commit();
                return true;

            case R.id.contacto:
                transation.replace(R.id.container, new Contacto()).commit();
                return true;

        }


        return false;
    }
};

我也给你添加了两张图片。

Ofertas片段

主片段

共有1个答案

魏彦
2023-03-14

问题出在fitSystemWindow==true中,我也有类似的问题,删除后问题就消失了。

 类似资料:
  • 但是,当我初始化BottomNavigationView时,我会得到: 我正在从一个片段初始化BottomNativigationView。我猜这就是问题所在,但我想不出解决办法。 下面是为片段设置导航的活动的BottomNavigationView xml。

  • 我必须在向上滚动时隐藏底部导航视图,在向下滚动时显示。如何实现这个?我的布局是这样的 我附上了视图截图。请检查一下。

  • 我试图创建一个单一活动的Android应用程序。我有带有BottomNavigationView的MainActivity (only activity),三个顶级片段和一些子片段。我的要求是,每当屏幕显示顶级片段,底部导航应该是可见的,这样切换是可能的。但是当我查看任何子片段时,底部导航应该是隐藏的。是否有任何现成的方式使用导航组件或需要手动更改可见性?

  • 在我的android应用程序中,当用户聚焦SearchView时,我希望底部的菜单栏消失(这也会弹出软键盘)。当SearchView失去焦点时,我想再次显示底部的导航栏。 我尝试过使用,视图确实隐藏或显示,但由于某种原因,它总是保留其高度。下面是我BottomNavigationView的代码: 处理隐藏/显示导航栏的代码: BottomNavigationView由线性布局控制,如下所示:

  • 我遇到了一个问题,当深度链接到第二级片段时,导航UI没有选择正确的底部导航视图项。 我的意思是: 选择fragment_reading_lists:选择正确的底部导航项 从fragment_reading_lists导航- 当我深入链接到fragment\u discover\u landing时会发生什么?选择默认的底部导航项目。 是否有方法通知底部导航适配器在此实例中应选择哪个项目? 这是我的

  • 我正在将我的应用程序转换为使用一个活动并添加了BottomNavigationView,并努力防止在片段之间导航时重新创建片段,进行不必要的api调用。但是我无法使它工作: 不显示片段 图标未切换 触摸底部菜单项不会切换片段 触摸所选项目会使应用崩溃,并带有 TypeCastException: 活动的布局: 底部导航菜单: 在主活动中: 导航扩展: 屏幕为空白,未呈现任何片段视图。 有人能帮我解