3 min read
CircularCardsStackView
Overview
Features
- Android 11 support
- Easy setup
- Endless card stack
- Swipe horizontally with animation
- Fully customized
- Support to all resolutions with portrait orientation
Usage
Dependencies
- Step 1: Add the JitPack repository in your project build.gradle file
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
- Step 2: Add the dependency in your app module build.gradle file
dependencies {
...
implementation 'com.github.Mindinventory:CircularCardsStackView:0.0.2'
}
Implementation
- Step 1: Add CardCircularStackView in your xml and customize attributes
<div class="highlight highlight-source-shell position-relative" data-snippet-clipboard-copy-content="
“>
<com.mindinventory.circularcardsstackview.ui.CircularCardsStackView
android:id="@+id/cardStack"
android:layout_width="0dp"
android:layout_height="wrap_content"
app:actionOptionsVisibility="true"
app:childViewHeight="@dimen/_250sdp"
app:primaryTextColor="@android:color/white"
app:primaryTextFontFamily="@font/roboto_bold"
app:primaryTextSize="@dimen/_16ssp"
app:profileViewBackgroundColor="#80000000"
app:secondaryTextColor="@android:color/white"
app:secondaryTextFontFamily="@font/roboto_medium"
app:secondaryTextSize="@dimen/_14ssp"
app:stackCardBackgroundColor="@color/white"
app:stackCardChildPadding="@dimen/_15sdp"
app:stackCardCornerRadius="@dimen/_20sdp"
app:stackCardStrokeColor="@color/white"
app:stackCardStrokeWidth="@dimen/_2sdp" />
Step 2: Provide card list and implement pageChangeListener
<div class="highlight highlight-source-shell position-relative" data-snippet-clipboard-copy-content="cardStack.setUpCardStack(ArrayList(), object:OnPageChangeListener{
override fun onPageScrolled(position: Int) {
}
override fun onPageSelected(position: Int) {
}
override fun onPageScrollStateChanged(state: Int) {
}
})
“>
cardStack.setUpCardStack(ArrayList(), object:OnPageChangeListener{
override fun onPageScrolled(position: Int) {
}
override fun onPageSelected(position: Int) {
}
override fun onPageScrollStateChanged(state: Int) {
}
})
Step 3: Customize card action option’s icon and implement action listener
cardStack.setActionOptions(
firstButtonResourceId = R.drawable.ic_message,
secondButtonResourceId = R.drawable.ic_heart,
object : CardActionListener {
override fun onFirstButtonOptionClick(position: Int) {
}
override fun onSecondButtonOptionClick(position: Int) {
}
}
)
Appearance
Attribute |
Description |
Default |
stackCardBackgroundColor |
The background color of the card |
white |
stackCardChildPadding |
The padding of the card’s child view |
_15sdp |
stackCardCornerRadius |
The corner radius of the card |
_30sdp |
stackCardStrokeColor |
The stroke color of the card |
white |
stackCardStrokeWidth |
The stroke width of the card |
_2sdp |
profileViewBackgroundColor |
The background color of profile view |
#80000000 |
childViewHeight |
The height of the child view of the card |
_250sdp |
actionOptionsVisibility |
Manage the visibility of the actions of the card |
true |
primaryTextColor |
The text color of the primary text of the profile view |
white |
secondaryTextColor |
The text color of the secondary text of the profile view |
white |
primaryTextFontFamily |
The FontFamily of the primary text of the profile view |
roboto_bold |
secondaryTextFontFamily |
The FontFamily of the secondary text of the profile view |
roboto_medium |
primaryTextSize |
The text size of the primary text of the profile view |
_16ssp |
secondaryTextSize |
The text size of the secondary text of the profile view |
_14ssp |
Guideline for contributors
Contribution towards our repository is always welcome, we request contributors to create a pull request to the develop branch only.
Guideline to report an issue/feature request
It would be great for us if the reporter can share the below things to understand the root cause of the issue.
- Library version
- Code snippet
- Logs if applicable
- Device specification like (Manufacturer, OS version, etc)
- Screenshot/video with steps to reproduce the issue
Requirements
- minSdkVersion >= 21
- Androidx
Library used
LICENSE!
CircularCardsStackView is MIT-licensed.
Let us know!
If you use our open-source libraries in your project, please make sure to credit us and Give a star to www.mindinventory.com
Please feel free to use this component and Let us know if you are interested to building Apps or Designing Products.
GitHub
https://github.com/Mindinventory/CircularCardsStackView