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 -
AndroidViewAnimations
Cute view animation collection. -
Material-Animations
Android Transition animations explanation with examples. -
UltimateAndroidReference
:rocket: Ultimate Android Reference - Your Road to Become a Better Android Developer -
AndroidImageSlider
An amazing and convenient Android image slider. -
ListViewAnimations
An Android library which allows developers to easily add animations to ListView items -
NineOldAndroids
Android library for using the Honeycomb animation API on all versions of the platform back to 1.0! -
Rebound
A Java library that models spring dynamics and adds real world physics to your app. -
shimmer-android
An easy, flexible way to add a shimmering effect to any view in an Android app. -
transitions-everywhere
Set of extra Transitions on top of Jetpack Transitions Library -
ChatKit for Android
Android library. Flexible components for chat UI implementation with flexible possibilities for styling, customizing and data management. Made by Stfalcon -
PhotoEditor
A Photo Editor library with simple, easy support for image editing using paints,text,filters,emoji and Sticker like stories. -
android-flip
A component for flip animation on Android, which is similar to the effect in Flipboard iPhone/Android -
CircleIndicator
A lightweight indicator like in nexus 5 launcher -
RecyclerViewItemAnimators
An Android library which provides simple Item animations to RecyclerView items -
Spotlight
Android Library that lights items for tutorials or walk-throughs etc... -
ViewPagerTransforms
Library containing common animations needed for transforming ViewPager scrolling for Android v13+. -
AnimationEasingFunctions
Android Animation Easing Functions. Let's make animation more real! -
android-ripple-background
A beautiful ripple animation for your app -
FabulousFilter
Android library to animate Floating Action Button to Bottom Sheet Dialog and vice-versa -
CircularReveal
Lollipop ViewAnimationUtils.createCircularReveal for everyone 4.0+ -
ShimmerLayout
DEPRECATED - Memory efficient shimmering effect for Android applications by Supercharge. -
Rich Path Animator
💪 Rich Android Path. 🤡 Draw as you want. 🎉 Animate much as you can. -
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! -
Stfalcon ImageViewer
A simple and customizable Android full-screen image viewer with shared image transition support, "pinch to zoom" and "swipe to dismiss" gestures -
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. -
SpeedView
Dynamic Speedometer and Gauge for Android. amazing, powerful, and multi shape :zap: -
PreLollipopTransition
Simple tool which help you to implement activity and fragment transition for pre-Lollipop devices. -
ColorPickerView
🎨 Android colorpicker for getting colors from any images by tapping on the desired color. -
EasyFlipView
💳 A quick and easy flip view through which you can create views with two sides like credit cards, poker cards etc. -
TransitionPlayer
Android library to control Transition animates. A simple way to create a interactive animation. -
ArcAnimator
ArcAnimator helps to create arc transition animation: 2.3.+ -
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 -
FragmentAnimations
3D animation examples for support-v4 Fragment transition. -
Road Runner
Road Runner is a library for android which allow you to make your own loading animation using a SVG image -
EasingInterpolator
Thirty-one different easing animation interpolators for Android. -
TreeView
Android GraphView is used to display data in graph structures. -
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. -
Dachshund Tab Layout
Extended Android Tab Layout with animated indicators that have continuous feedback. -
React Native Tabbar Interaction
Tabbar Component For React-Native -
TextFieldBoxes
Material Design text field that comes in a box, based on (OLD) Google Material Design guidelines.
Appwrite - The Open Source Firebase alternative introduces iOS support
* 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`.