маленькое (корзина) внизу экрана , которое появляется на экране , при присутствии в корзине товаров. Вот я думаю, как сделать так, чтобы не пришлось это вью в хмл всех экранов сувать. Как будет правильнее его добавлять к любому экрану?
Можно сделать фрагмент и подключать его во все разметки
Это, по моему, то чего он хочет избежать🤔
В Activity/Fragment-хосте отслеживать добавление в корзину через Observable/Flow и будет отображаться поверх дочерних экранов
Если же нужно добавлять вьюшку корзины именно в layout дочернего (текущего) фрагмента, то получать в хосте сам фрагмент и добавить в его корневую вью (requireView)
Вот, да Окей Буду пробовать
Только учти, что добавить просто с addView удастся для LinearLayout, но не сработает для ConstraintLayout/FrameLayout. Наверное, будет лучше завести какой-нибудь CartViewController, в котором будет скрыта логика добавления вью корзины для разных ViewGroup
какой-то лютый костыль мы сначала убегаем от добавления корзины во все разметки, но потом добавляем кастомный ViewGroup во все разметки, чтобы что-то там сделать с корзиной
нет, layout'ы экранов не придется вообще трогать. я имел в виду то, что корневые layout'ы у этих экранов могут быть разными и просто с addView добавить свою вьюшку вниз экрана не получится для ViewGroup отличных от LinearLayout
корневой лейоут экрана не подразумевает быть добавленным во все разметки?
каждого дочернего экрана
ну у каждого экрана есть layout с корневым ViewGroup и их не нужно трогать. я предложил добавлять кастомную вьюшку корзины в них программно не трогая разметку самих экранов
но вот эта проблема есть, да
Как по мне логичней сделать отдельный xml файл для вьюшки корзины и распиливать на каждый экран. Потому что в будущем точно придется с какого экрана убрать а на каком то добавить рядом какую либо кнопку
Обсуждают сегодня