A library to make animated CardView elevation
Download sample app from here
Add it in your root build.gradle at the end of repositories:
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}Add the dependency
dependencies {
implementation 'androidx.cardview:cardview:1.0.0'
implementation 'com.github.alibardide-dev:CardViewPlus:1.0.6'
}Now you're ready to use CardViewPlus
You can use CardViewPlus just like a normal CardView
<com.alibardide-dev.cardviewplus.CardViewPlus
android:layout_width="wrap_content"
android:layout_height="wrap_content"
... >
</com.alibardide-dev.cardviewplus.CardViewPlus>But it gives you some more attributes
| Properties | Type | Default |
|---|---|---|
normalCardElevation |
Dimension - Float (in code) | 2dp |
pressedCardElevation |
Dimension - Float (in code) | 5dp |
cardPressedColor |
Color | cardBackgroundColor |
animationEnabled |
Boolean | true |
clickDelay |
Int (milli second) | 150 |
normalCardElevation : set CardViewPlus elevation in noraml state. Default: 2dp.
pressedCardElevation: set CardViewPlus elevation in pressed state. Default: 5dp.
If you want to disable elevation animation, set the same value for normalElevation and maxElevation.
cardPressedColor: set color for onTouch color animation. Default: #e0e0e0.
If you want to disable color animation, set the same value for pressedColor and cardBackgroundColor.
animationEnabled: enable or Disable CardViewPlus shadow and color animations. Default: true.
clickDelay: set a delay for click after release the CardViewPlus. Default: 150ms.
Suggest setting click delay more than 150ms.
Please use normalCardElevation and pressedCardElevation instead of cardElevation and maxCardElevation.
<com.alibardide-dev.cardviewplus.CardViewPlus
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:normalCardElevation="2dp"
app:pressedCardElevation="5dp"
app:cardPressedColor="#ffe0e0e0"
app:animationEnabled="true"
app:clickDelay="150">
</com.alibardide-dev.cardviewplus.CardViewPlus>cardViewPlus.apply {
normalCardElevation = 4
pessedCardElevation = 10
cardPressedColor = Color.parseColor("#e0e0e0")
isAnimationEnabled = true
clickDelay = 150
}CardViewPlus cardViewPlus = findViewById(R.id.cardViewPlus);
cardViewPlus.setNormalCardElevation(4);
cardViewPlus.setPressedCardElevation(10);
cardViewPlus.setCardPressedColor(Color.parseColor("#e0e0e0"));
cardViewPlus.setAnimationEnabled(true);
cardViewPlus.setClickDelay(150);Find this library useful? Support it by joining stargazers for this repository
And follow me for my next creations
CardViewPlus by Ali Bardide is licensed under a Apache License 2.0.
