Android - multi-line linear layout

Viewed 24637

I need a multi-line layout, which would behave as horizontal linear layout, but when there is not enough space to place new widget it would expand to next line, just like words in text. Widgets would be added there at runtime, and should go with wrap_content. Actually, there would be buttons.

Is there any widgets with such behaviour? Or give a suggestion about how to write such layout by myself.

Finally it should look like this:

draft for a multi-line layout

4 Answers

Assuming you have Constraint Layout version 2.0.0 or higher, I believe you could use a ConstraintLayout with a androidx.constraintlayout.helper.widget.Flow child. The flow could have app:flow_wrapMode=chain or aligned depending on how you would like the layout to look.

Each of the list elements would be siblings of your Flow (ie. nested within the ConstraintLayout but without any constraints). Each element would have to have an id and those ids would have to be listed in the value for the Flow's app:constraint_referenced_ids property.

For more information you can check out these resources:

Related