Нижняя навигация, вне экрана временно после положения переключателя - PullRequest
0 голосов
/ 27 апреля 2018

Я пытался использовать нижнюю навигацию. Действие и дизайн работают хорошо, но иногда и случайно моя нижняя навигация отключается на несколько секунд и возвращается без каких-либо действий.

Это мой xml-файл с нижней навигацией и макетом фрейма (который содержит фрагмент)

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

What it should do

My problem

Проблема появляется только на фрагменте «Страж» и иногда на «Известном» фрагменте. Картины на фрагменте "Гвардия".

1 Ответ

0 голосов
/ 27 апреля 2018

Не могли бы вы предоставить полный макет XML? Без этого просто гадать. Одним из возможных решений является замена android:layout_height="wrap_content" на размерное значение, равное 128dp или то, что вам больше подходит.

...