Вид снизу навигации сокращается - PullRequest
0 голосов
/ 30 ноября 2018

Я создал приложение с навигацией снизу с вкладками «Промо», «Магазин», «Вознаграждение», «Купон» и «Учетная запись», когда я переключаюсь с фрагмента купона на любой другой фрагмент, нижний навигационный вид уменьшается, как показано на рисунке, я пыталсяизменение ширины макета, высоты и преобразование макета координатора в линейный макет, но это не помогло.Проблема возникает, когда я переключаюсь из дома на любую другую вкладку.

Файл макета Activity_main.xml

<android.support.constraint.ConstraintLayout 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:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".activity.MainActivity">

<FrameLayout
    android:id="@+id/fragment_container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginBottom="56dp"
    android:text="@string/title_home"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

<android.support.design.widget.BottomNavigationView
    android:id="@+id/navigation"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_marginEnd="0dp"
    android:layout_marginStart="0dp"
    android:background="@color/white"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:itemTextColor="@color/selector_bottom_navigation"
    app:itemIconTint="@color/selector_bottom_navigation"
    app:menu="@menu/navigation" />

Файл Java MainActivity.java

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

    //loading the default fragment
    loadFragment(new PromoFragment());

    //getting bottom navigation view and attaching the listener
    BottomNavigationView navigation = findViewById(R.id.navigation);
    BottomNavigationViewUtils.disableShiftMode(navigation);
    navigation.setOnNavigationItemSelectedListener(this);
}

@Override
public boolean onCreatePanelMenu(int featureId, Menu menu) {
    getMenuInflater().inflate(R.menu.menu_wallet, menu);
    return super.onCreatePanelMenu(featureId, menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle item selection
    switch (item.getItemId()) {
        case R.id.menu_wallet1:
            return true;
        case R.id.menu_qrcode:
            Intent intent = new Intent(this, ScannerActivity.class);
            startActivity(intent);
            return true;
        default:
            return super.onOptionsItemSelected(item);
    }
}

@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
    Fragment fragment = null;

    switch (item.getItemId()) {
        case R.id.navigation_promo:
            fragment = new PromoFragment();
            break;

        case R.id.navigation_store:
            fragment = new StoreFragment();
            break;

        case R.id.navigation_reward:
            fragment = new RewardFragment();
            break;

        case R.id.navigation_coupon:
            fragment = new CouponFragment();
            break;

        case R.id.navigation_account:
            fragment = new AccountFragment();
            break;
    }

    return loadFragment(fragment);
}

private boolean loadFragment(Fragment fragment) {
    if (fragment != null) {
        getSupportFragmentManager()
                .beginTransaction()
                .replace(R.id.fragment_container, fragment)
                .commit();
        return true;
    }
    return false;

это изображение, которое я имел в виду

enter image description here

Ранее я добавил SearchView в хранилище фрагментов и фрагментов купонов

Ответы [ 3 ]

0 голосов
/ 23 января 2019

Я добавляю android: fitsSystemWindows = "false" в CoordinatorLayout, и это сработало

0 голосов
/ 10 апреля 2019

Найдите android:fitsSystemWindows="true" в своем фрагменте xml и удалите эту строку или измените ее на android:fitsSystemWindows="false".Ваша проблема будет решена.

0 голосов
/ 13 января 2019

Оказывается, что если вы используете макет координатора и viewpager внутри фрагмента, вы заметите, что viewpager немного расширяет экран.Просто отключите функции прокрутки макета координатора внутри фрагмента, и вы заметите, что нижняя панель не сжимается.Странно, я знаю, но это работает.

...