A very convenient and powerful flow layout created by Lan.
11
see it as an icon in the beginning of the README file.
compile 'cn.lankton:flowlayout:latest version'
<dependency>
<groupId>cn.lankton</groupId>
<artifactId>flowlayout</artifactId>
<version>latest version</version>
<type>pom</type>
</dependency>
e
pic left: add views into the flowlayout constantly
pic middle: compress child elements to make them spend lines as fiew as possible and look tight
pic right: align child elements to make them look in alignment.
This pic shows to cut the flowlayout to the specified number of lines.
You can use this FlowLayout like below in your layout file
<cn.lankton.flowlayout.FlowLayout
android:id="@+id/flowlayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="10dp"
app:lineSpacing="10dp"
android:background="#F0F0F0">
</cn.lankton.flowlayout.FlowLayout>
As you see, this FlowLayout provides an attribute named "lineSpacing", which can be used to set the distance between lines in the FlowLayout.
When you want to compress child elements, use the code like below:
flowLayout.relayoutToCompress();
The FlowLayout compresses child elements by changing their sequence.
When you want to align child elements, use the code like below:
flowLayout.relayoutToAlign();
The order of child elements won't be changed.
You can cut the flowlayout to the specified number of lines.
flowLayout.specifyLines(int)
May this FlowLayout help you. Thanks.