Фрагменты Android перекрывают друг друга и не хотят задавать фоновый цвет

Я знаю, что этот вопрос задавали несколько раз, но у меня еще нет правильного решения

Ниже приведен мой контейнер фрагментов в MainActivity.

    <FrameLayout
            android:id = "@+id/main_content"
            android:layout_width = "match_parent"
            android:layout_height = "match_parent"
            android:fitsSystemWindows = "true"
            app:behavior_overlapTop = "40dp"
            app:layout_behavior = "@string/appbar_scrolling_view_behavior" />

Теперь, как вы можете видеть app: behavior_overlapTop, из-за этого я не хочу устанавливать цвет фона для моего фрагмента.

Я добавил android:clickable = "true" в корневой макет во фрагменте.

Ниже приведен мой код для добавления фрагмента: -

  FacilityCategoriesGridFragment facilityCategoriesGridFragment = FacilityCategoriesGridFragment.newInstance();
                            getActivity().getSupportFragmentManager().beginTransaction()
                                    .setCustomAnimations(android.R.anim.slide_in_left,
                                            android.R.anim.slide_out_right, android.R.anim.slide_in_left, android.R.anim.slide_out_right)
                                    .add(R.id.main_content, facilityCategoriesGridFragment, "test")
                                    .addToBackStack(null)
                                    .commit();
                            getActivity().getSupportFragmentManager().executePendingTransactions();

Теперь иногда фрагменты перекрываются. Я не хочу использовать замену, как я могу это исправить?

ты не хочешь replace, но ты не хочешь add color, чего ты конкретно хочешь? заменить без замены, как такое вообще возможно? будет ли работать белый цвет, тогда вы можете установить белый фон ??

Santanu Sur 10.03.2018 12:05

решение вопроса находится в самом вопросе, Добавлять означает добавление одного над другимgoogle.co.in/… и Заменять означает google.co.in/…

Santanu Sur 10.03.2018 12:11

да, но я не хочу заменять фрагмент, так как он воссоздает предыдущий фрагмент при обратном нажатии

alphanso 10.03.2018 12:42
FragmentTransaction имеет методы hide() и show().
Mike M. 11.03.2018 02:45

Это должна быть та же проблема, что и: stackoverflow.com/questions/42633598/…

BrainAtom 12.04.2019 12:25

угадайте ту же причину: stackoverflow.com/questions/42633598/…

BrainAtom 12.04.2019 12:26
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
3
6
37
1

Ответы 1

У FacilityCategoriesGridFragmentroot макет, RecyclerView и GridView имеют android: layout_width = "match_parent" и android: layout_height = "match_parent"?

Если вы не хотите устанавливать фон для фрагментации, установите для фона значение окно в вашем AppTheme

Yeldar.N 11.03.2018 07:10

Другие вопросы по теме