🔥 A beautifully designed fully customisable Android view that allows developers to create the UI which replicates an actual credit card.
This library is inspired by the Paweł Szymankiewicz's work on dribble.
In your project's build.gradle
repositories {
maven { url "https://jitpack.io" }
}
In your modules's build.gradle
implementation "com.github.KunikaValecha:CreditCardView:$latest_version"
<com.github.credit_card_view.CreditCardView
android:id="@+id/creditCardView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="50dp"
app:card_autoFocusCardNumber="true"
app:card_backGradientEnd="#626262"
app:card_backGradientStart="#2D2D2D"
app:card_backStrip2Color="#303030"
app:card_backStripColor="@color/black"
app:card_cardExpiryHeaderColor="#C4C4C4"
app:card_cardExpiryHintColor="#4DFFFFFF"
app:card_cardExpiryTextColor="@color/white"
app:card_cardNameHeaderColor="#C4C4C4"
app:card_cardNameHintColor="#4DFFFFFF"
app:card_cardNameTextColor="@color/white"
app:card_cardNumberHintColor="#656565"
app:card_cardNumberTextColor="@color/white"
app:card_cvvBackgroundColor="@color/white"
app:card_cvvHintColor="#4D000000"
app:card_cvvTextColor="#000000"
app:card_frontGradientEnd="#313131"
app:card_frontGradientStart="#1F1F1F"
app:card_isBackSideEditable="true"
app:card_isFrontSideEditable="true"
app:card_outline_base_color="#EBB46A"
app:card_outline_error_color="#EB6A6E"
app:layout_constraintTop_toTopOf="parent" />
Attribute | Type | Optional | Definition |
---|---|---|---|
card_autoFocusCardNumber | boolean | Yes | whether to automatically focus on card number input field & open keyboard |
card_backGradientStart | color hex | No | start color of back side of card |
card_backGradientEnd | color hex | No | end color of back side of card |
card_frontGradientStart | color hex | No | start color of front side of card |
card_frontGradientEnd | color hex | No | end color of front side of card |
card_backStripColor | color hex | No | top strip color of back side of card |
card_backStrip2Color | color hex | No | bottom strip color of back side of card |
card_cvvBackgroundColor | color hex | Yes | cvv input filed background color |
card_cvvHintColor | color hex | Yes | cvv input filed hint color |
card_cvvTextColor | color hex | Yes | cvv input filed text color |
card_cardNumberTextColor | color hex | Yes | card number input filed text color |
card_cardNumberHintColor | color hex | Yes | card number input filed hint color |
card_minCardNumberLength | integer | Yes | minimum length of credit card number(excluding separator) - default value is 15 chars |
card_maxCardNumberLength | integer | Yes | maximum length of credit card number(excluding separator) - default value is 19 chars |
card_cardNameHeaderColor | color hex | Yes | card name header text color |
card_cardNameTextColor | color hex | Yes | card name input field text color |
card_cardNameHintColor | color hex | Yes | card name input field hint color |
card_cardExpiryHeaderColor | color hex | Yes | card expiry header text color |
card_cardExpiryTextColor | color hex | Yes | card expiry input field text color |
card_cardExpiryHintColor | color hex | Yes | card expiry input field hint color |
card_outline_error_color | color hex | Yes | outline color in case of error |
card_outline_base_color | color hex | Yes | default outline color |
card_separator | string | Yes | separator character used to separate the card number - space by default |
card_isFrontSideEditable | boolean | Yes | whether we can edit the front side of the card |
card_isBackSideEditable | boolean | Yes | whether we can edit the back side of the card |
fun getCardNumber(): String? //Function to get card number
fun getNameOnCard(): String? //Function to get card name
fun getExpiryDate(): ExpiryDate? //Function to get expiry daye
fun getCvv(): String? //Function to get cvv
fun getCurrentCardSide(): CardSide //Function to get current card side
fun flipCard() //Function to flip card
fun setBankName(bankName: String) //Function to set bank name
fun setCardProviderLogo(logo: Bitmap) //Function to set card provider logo
fun setErrorStateToField(cardField: CardField) //Function to set error state on a specific field
Support it by joining stargazers for this repository. ⭐
Copyright 2022 KunikeValecha
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.