Зависит от родительского контейнера.Вы можете использовать
- ConstraintLayout
- RelativeLayout
- MotionLayout
или другие макеты относительного типа, но вы не можете использовать LinearLayout в качествеэто не позволит вам перемещать дочерние элементы в другие разделы LinearLayout.
Далее для родительского действия вы должны убедиться, что вы не помещаете FrameLayout под панелью инструментов, если вы намереваетесь позволить себе строитьограничения от родительских границ.Ваш родитель - это FrameLayout, поэтому, если он уже помещен под панель инструментов, вы не сможете привязаться к его родителю, если не получите parent.parent для вашей привязки.
Итак, у вас есть несколько вариантов.
- Убедитесь, что ваша активность не выдвигает FrameLayout под панелью инструментов, чтобы FrameLayout полностью соответствовал родительскому элементу и не затрагивался панелью инструментов (будьте осторожны, так как вам нужно убедиться, что другие макеты не• Нельзя перекрывать область панели инструментов в вашем пользовательском интерфейсе, поскольку она может выглядеть плохо.
- Вы можете использовать отрицательное поле для пользовательского интерфейса, который должен всплывать, это не очень хорошая практика, и я не рекомендую его.
- Вы можете создать ограничение для parent.parent, потому что тогда ваше ограничение будет привязано к родительскому элементу framelayouts вместо самого framelayout.
Если вам нужна дополнительная помощь, тогда поделитесь своим XML, чтобы яможет помочь указать, где вы можете внести коррективы.
Happy Coding!