Java 底部导航,开关位置后临时离开屏幕

Java 底部导航,开关位置后临时离开屏幕,java,android,kotlin,material-design,bottomnavigationview,Java,Android,Kotlin,Material Design,Bottomnavigationview,我尝试使用底部导航。动作和设计都很好,但有时我的底部导航会随机离开屏幕几秒钟,然后在没有任何动作的情况下正常返回 这是我的xml文件,带有底部导航和框架布局(其中包含片段) 问题只出现在“守卫”碎片上,有时出现在“已知”碎片上。 图片位于“Guard”片段上。能否提供完整的布局xml?没有它,它只是猜测。一个可能的解决方案是用一个维度值替换android:layout\u height=“wrap\u content”,该维度值等于128dp,或者是最适合您的维度值。我刚刚做了。我以前已经

我尝试使用底部导航。动作和设计都很好,但有时我的底部导航会随机离开屏幕几秒钟,然后在没有任何动作的情况下正常返回

这是我的xml文件,带有底部导航和框架布局(其中包含片段)

问题只出现在“守卫”碎片上,有时出现在“已知”碎片上。
图片位于“Guard”片段上。

能否提供完整的布局xml?没有它,它只是猜测。一个可能的解决方案是用一个维度值替换
android:layout\u height=“wrap\u content”
,该维度值等于
128dp
,或者是最适合您的维度值。

我刚刚做了。我以前已经尝试过用一个特定的heigh值,但仍然是一样的。我将内容包装起来,并在样式文件中添加填充。在这种情况下,您可以尝试删除
app:layout\u behavior=“@string/appbar\u scrolling\u view\u behavior”
。您还可以查看
MyGuardsFragment
与其他(代码和布局)之间的差异。我猜这是一个带有
match\u parent
的回收视图,我有match\u parent,但即使我删除并放置了正确的约束布局,我仍然有这个。同样对于布局行为,如果我删除它,我仍然有问题。我真的被阻塞了,尝试了很多解决方案。我的所有片段都具有相同的架构布局和代码。
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">

<android.support.constraint.ConstraintLayout
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    tools:context=".Activities.MainActivity">

    <FrameLayout
        android:id="@+id/frame_layout"
        android:layout_width="0dp"
        android:layout_height="0dp"
        app:layout_constraintBottom_toTopOf="@+id/bottom_bar_navigation"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <android.support.design.widget.BottomNavigationView
        android:id="@+id/bottom_bar_navigation"
        style="@style/BottomNavigation"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:menu="@menu/bottombar_tabs" />


</android.support.constraint.ConstraintLayout>
bottomBar?.setOnNavigationItemSelectedListener {
        when (getTabInfo(it.itemId)) {
            xx.TAB_MESSENGER -> onFragmentInteraction(
                    MessengerFragment(),
                    tab_Bar_Object.TAB_MESSENGER
            )
            xx.TAB_GUARD -> onFragmentInteraction(
                    MyGuardsFragment(),
                    tab_Bar_Object.TAB_GUARD
            )
            xx.TAB_SEARCH -> onFragmentInteraction(
                    SearchFragment(),
                    tab_Bar_Object.TAB_SEARCH
            )
            xx.TAB_KNOWN -> onFragmentInteraction(
                    KnownApplicantsListFragment(),
                    tab_Bar_Object.TAB_KNOWN
            )
            xx.TAB_ACCOUNT -> onFragmentInteraction(
                    UserAccountFragment(),
                    tab_Bar_Object.TAB_ACCOUNT
            )
        }

    }
private fun onFragmentInteraction(fragment: Fragment, tabBarObject: xx): Boolean {
    if (selectedTab != tabBarObject.position) {
        selectedTab = tabBarObject.position
        val fragmentTransaction = supportFragmentManager.beginTransaction()
        fragmentTransaction.setCustomAnimations(R.anim.fade_in, R.anim.fade_out)
        fragmentTransaction.replace(R.id.frame_layout, fragment, tabBarObject.tabName)
        fragmentTransaction.commit()
        return true
    }
    return false
}