Description
A customized EditText view serving the purpose of taking numeric One Time Password from a user. With stunning animation, and high customizability.
OtpEditText alternatives and similar packages
Based on the "Animations" category.
Alternatively, view OtpEditText alternatives based on common mentions on social networks and blogs.
-
Lottie for Android, iOS, and React Native
Render After Effects animations natively on Android and iOS, Web, and React Native -
UltimateAndroidReference
:rocket: Ultimate Android Reference - Your Road to Become a Better Android Developer -
ListViewAnimations
DISCONTINUED. An Android library which allows developers to easily add animations to ListView items -
NineOldAndroids
DISCONTINUED. Android library for using the Honeycomb animation API on all versions of the platform back to 1.0! -
Rebound
DISCONTINUED. A Java library that models spring dynamics and adds real world physics to your app. -
shimmer-android
DISCONTINUED. An easy, flexible way to add a shimmering effect to any view in an Android app. -
PhotoEditor
A Photo Editor library with simple, easy support for image editing using paints,text,filters,emoji and Sticker like stories. -
android-flip
DISCONTINUED. A component for flip animation on Android, which is similar to the effect in Flipboard iPhone/Android -
ChatKit for Android
Android library. Flexible components for chat UI implementation with flexible possibilities for styling, customizing and data management. Made by Stfalcon -
RecyclerViewItemAnimators
An Android library which provides simple Item animations to RecyclerView items -
ViewPagerTransforms
Library containing common animations needed for transforming ViewPager scrolling for Android v13+. -
FabulousFilter
Android library to animate Floating Action Button to Bottom Sheet Dialog and vice-versa -
ShimmerLayout
DEPRECATED - Memory efficient shimmering effect for Android applications by Supercharge. -
Rich Path Animator
DISCONTINUED. 💪 Rich Android Path. 🤡 Draw as you want. 🎉 Animate much as you can. -
Stfalcon ImageViewer
A simple and customizable Android full-screen image viewer with shared image transition support, "pinch to zoom" and "swipe to dismiss" gestures -
BaseAnimation
BaseAnimation network Android animation set, custom controls, nearly 200 kinds of source code! BaseAnimation, if a new version is updated automatically to remind everyone, I hope everyone will contribute their animated XML files or other source, together to create this open source app! -
EasyAndroidAnimations
Easy Android Animations is an animation library that aims to make android animations easier, with 50+ builtin animations, it allows you to introduce many complex animation effects in your application with one or two lines of code. -
ColorPickerView
🎨 Android colorpicker for getting colors from any images by tapping on the desired color. -
PreLollipopTransition
Simple tool which help you to implement activity and fragment transition for pre-Lollipop devices. -
EasyFlipView
💳 A quick and easy flip view through which you can create views with two sides like credit cards, poker cards etc. -
WhatTodo
A Simple Todo app design in Flutter to keep track of your task on daily basis. Its build on BLoC Pattern. You can add a project, labels, and due-date to your task also you can sort your task on the basis of project, label, and dates -
TransitionPlayer
Android library to control Transition animates. A simple way to create a interactive animation. -
Road Runner
Road Runner is a library for android which allow you to make your own loading animation using a SVG image -
Youtube UI/UX Animation
With MVVM Architecture pattern using Android Architecture Components This is a sample app demonstrating Youtube player animation using constraint layout -
AppIntroAnimation
AppIntroAnimation is a set of code snippets to make cool intro screen for your app with special Image Translation and Transformation animation effects. It is very easy to use and customize without adding third party library integrations. -
Android File Picker🛩️
FilePicker is a small and fast file selector library that is constantly evolving with the goal of rapid integration, high customization, and configurability~ -
Dachshund Tab Layout
Extended Android Tab Layout with animated indicators that have continuous feedback.
InfluxDB - Power Real-Time Data Analytics at Scale
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of OtpEditText or a related project?
README
PassCodeText
A customised EditText view serving the purpose of taking numeric One Time Password from a user. With stunning animation, and high customizability.
[Demo with underline](images/demo2.gif) [Dark theme demo](images/dark_theme_demo.gif) [Error animation](images/err_anim.gif) [Hint usage](images/hint.gif)
Packed with features
- Add custom character limit.
- Animation supported on wrong input
- Use your own color scheme.
- Do not allow user changing cursor position for smooth functioning.
- Hint is supported!
How to integrate the library in your app?
Step 1: 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.swapnil1104:OtpEditText:{current_lib_ver}'
}
Step 3. Add OtpEditText to your layout file
<com.broooapps.otpedittext2.OtpEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clickable="false"
android:cursorVisible="false"
android:digits="0123456789"
android:inputType="number"
android:maxLength="6"
android:padding="8dp"
android:textSize="30sp"
app:oev_primary_color="@color/red"
app:oev_secondary_color="@color/light_gray"
/>
Usage
GetOtpValue() method usage
String otpValue = otpEditText.getOtpValue();
if (otpValue != null) {
textDisplay.setText("Entered Value: " + otpEditText.getOtpValue());
}
This method when invoked, will either return the OTP value, in case this is invoked before the user inputs the desired length of characters, a shake animation will be triggered implicitly.
How to customize the view.
Trigger Error Animation
To trigger error animation for incorrect input, or any other use case, use.
OtpEditText otpEditText;
....
otpEditText = findViewById(R.id.oev_view);
....
//Invalid input, animation triggered
otpEditText.triggerErrorAnimation();
Setting desired length for the OTP(One time password code)
To set custom length of the OtpEditText, use
android:maxLength="{your length}"
This will automatically generate the right amount of boxes for user to input the code in.
Setting primary custom color
The primary color signifies the boundary of the box that requires input from user. To change that use,
### Setting secondary custom color
The secondary color signifies the boundary of the boxes that do not require input from user.
To change that use,
```app:oev_secondary_color="@color/{your_color}"```
### Using multiple style options.
There are 4 style options that are available within the library for now.
- rounded box
- square box
- underline
- rounded underline
To use any of these styles, please add ```app:oev_box_style="@string\{box_style_input}"```
attribue.
I have provided string resources for simpler usage.
<string name="style_square">square_box</string>
<string name="style_rounded">rounded_box</string>
<string name="style_underline">underline</string>
<string name="style_rounded_underline">rounded_underline</string>
Suppose you want the rounded underline option to be displayed. Then, please add:
`app:oev_box_style="@string/style_rounded_underline" ` in the OtpEditText xml code.
### Masking input characters with Asterisk.
Functionality to mask the input with any special character has been introduced.
To mask the input;
app:oev_mask_input="true"
xml property must be introduced in the XML layout file.
#### Masking with any other special character.
To mask input with any character other than `*` you can do the following;
app:oev_mask_character="ø"
P.S. Please note that, in case of masking with a special character other than `*`, specify string with length one, otherwise the input string will be truncated to length 1.
### OnComplete callback for the View
To implement an OnComplete callback, use `setOnCompleteListener` setter method and pass on an interface implementation.
eg:
editText.setOnCompleteListener(new OnCompleteListener() { @Override public void onComplete(String value) { Toast.makeText(MainActivity.this, "Completed " + value, Toast.LENGTH_SHORT).show(); } });
This callback will be triggered when the number of characters is equal to the `android:maxLength` value.
## For optimum usage; Please note.
* Specify `android:textSize` according to your needs.
* Specify `android:padding` according to your needs, there are no paddings drawn by default.
* Specify `android:layout_height` according to the `textSize` you've provided. The view will try to center the text with a vertical biasing of `0.6f`.