под первый если они не влезают в отведённую область. Для этого вроде есть flow. Можно ли как то узнать что вторая вьюшка должна переехать под первую? Это нужно так как если обе располагаются в одну строку между ними должен ещё быть разделитель в виде точки:
Первое вью • второе вью
Если одна вьюшка под второй точки быть не должно:
Первое вью
Втрое вью
Пробовал решить похожую задачу и пришёл к выводу, что ConstraintLayout.Flow сильно ограниченный. Плохо интегрируется с другими вьюхами при тесной компоновке - непонятно какие констрейнты работают, а какие нет. Непредсказуемый, в общем. Пришлось пожертвовать вложенностью и заюзать пожалуй лучшую альтернативу для верстки с переносом - FlexboxLayout. Думаю, что и для вашей задачи подойдёт отлично, там есть апи для указания горизонтальных и вертикальных разделителей отдельно.
Нельзя использовать дополнительные библиотеки
Странный запрет. Короче думаю, что с Flow - никак, а писать самому, чтобы было надёжно - очень долго, нерационально. FlexboxLayout - отличная библиотека от гугла, отлично себя зарекомендовала. Сможет пригодиться ещё не раз в проекте.
Обсуждают сегодня