"The less the space occipied, the more the clean ui looks"
This library provides a simple Collapsible card-like layout in which you can put any number of views that can be collapsed and expended when required.
To deploy this project run
Step 1. Add the JitPack repository to your build file
Add it in your root build.gradle at the end of repositories:
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
Step 2. Add the dependency
dependencies {
implementation 'com.github.ErrorxCode:Collapsible-card:Tag'
}
The CollapsibleCard extends RelativeLayout. So you can place your views directly inside it.
- add 'main' to tag of the child view you don't want to hide on collapsing.
<com.errorxcode.card.CollapsibleCard
android:id="@+id/card"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp">
...
...
</com.errorxcode.card.CollapsibleCard>
- The card will expand collapse automatically on the clicking of 'main' view.
Note: You should not put any other layout inside it. The animation will fail if you do so.
Demo example code:
<com.errorxcode.card.CollapsibleCard
android:id="@+id/card"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp">
<TextView
android:id="@+id/textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/black"
android:tag="main"
android:layout_centerHorizontal="true"
android:textSize="20sp"
android:layout_margin="10dp"
android:text="Finderprints"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/textview"
android:layout_centerHorizontal="true"
android:layout_marginTop="100dp"
android:text="Button"/>
</com.errorxcode.card.CollapsibleCard>
and through java, you can anytime call collapse()
or expand()
.
You can also modify transition using setCustomTransition()
method like this:
var transition = new AutoTransition();
transition.setDuration(3000);
transition.setInterpolator(new BounceInterpolator());
card.setCustomTransition(transition);
Contributions are always welcome!
What you can do is you can add more customization options to it. You can contact me on instagram before making a pull request.