Step 1. Add the JitPack repository to your build file
Add it in your root settings.gradle at the end of repositories:
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
mavenCentral()
maven { url 'https://jitpack.io' }
}
}
Add it in your settings.gradle.kts at the end of repositories:
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
mavenCentral()
maven { url = uri("https://jitpack.io") }
}
}
Add to pom.xml
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
Add it in your build.sbt at the end of resolvers:
resolvers += "jitpack" at "https://jitpack.io"
Add it in your project.clj at the end of repositories:
:repositories [["jitpack" "https://jitpack.io"]]
Step 2. Add the dependency
dependencies {
implementation 'com.github.lankton:android-flowlayout:'
}
dependencies {
implementation("com.github.lankton:android-flowlayout:")
}
<dependency>
<groupId>com.github.lankton</groupId>
<artifactId>android-flowlayout</artifactId>
<version></version>
</dependency>
libraryDependencies += "com.github.lankton" % "android-flowlayout" % ""
:dependencies [[com.github.lankton/android-flowlayout ""]]
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
<img src="https://github.com/lankton/android-flowlayout/blob/master/pictures/flowlayout_add.gif?raw=true" width="260px"/>
<img src="https://github.com/lankton/android-flowlayout/blob/master/pictures/flowlayout_compress.gif?raw=true" width="260px"/>
<img src="https://github.com/lankton/android-flowlayout/blob/master/pictures/flowlayout_align.gif?raw=true" width="260px"/>
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.