In the Android Studio Layout Editor I see the words "pack" and "chain" with respect to a ConstraintLayout
. I know they both have something to do with multiple views being connected to each other in a line, but their difference is not clear to me.
What is the difference between "pack" and "chain"?
A Chain is a group of views that are bound together in a vertical or horizontal line. Pack means that the views should be kept very closely together, ie, touch each other (excluding any padding).
Pack means that the views are packed tightly together. Imagine that you are packing your clothes tightly together in a suitcase before going on a trip.
Points to note:
Packing doesn't in itself doesn't constrain the views to each other.
If they are chained, then setting the Chain mode to packed
binds them closely together.
app:layout_constraintHorizontal_chainStyle="packed"
A chain occurs when two adjacent views both have constraints to each other. Imagine an iron link chain.
The documentation shows this well.
This chain can continue where every link (view) in the chain has a two-way link to its neighbors.
Chain mode/style
As I briefly mentioned above, there are different modes or styles for a chain. They are shown below (image from docs).
All of these are chained. Only the bottom one is packed.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With