MaterialEditText
Material Design EditText
with a delightful linear ripple in background, compatible with Android 4.0+.
Preview
Native EditText
(on Samsung S4 with Android 5.0.1):
MaterialEditText
:
Sample screenshot:
Design
This library took the framework implementation of RippleDrawable
as reference to implement an EditText
background with a ripple on the line. The MaterialEditTextBackgroundDrawable
is made to behave just the same as the framework XML implementation of EditText
background, so that a drop-in replacement should not affect your layout and alignment.
For simplicity of usage, a MaterialEditText
is created to set the background automatically, and set the hotspot of ripple on platforms prior to Lollipop.
The InputTextLayout
from Design Support Library can automatically set the red tint on background when an error is set. An MaterialInputTextLayout
is introduced to make the background drawable show a bold red line consistent with Material Design Guideline when an error is set.
Integration
Gradle:
compile 'me.zhanghai.android.materialedittext:library:1.0.5'
Usage
Simply replace your EditText
with MaterialEditText
and TextInputLayout
with MaterialTextInputLayout
, then you can enjoy the delightful detail now.
For example:
<me.zhanghai.android.materialedittext.MaterialTextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<me.zhanghai.android.materialedittext.MaterialEditText
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</me.zhanghai.android.materialedittext.MaterialTextInputLayout>
ProGuard
The AAR of this library has already included a ProGuard configuration file to make ObjectAnimator
work properly.
Older versions
Neither Support v4 nor AppCompat v7 backported animation API to versions prior to ICS, and the NineOldAndroids library has already been deprecated since people should all be using minSdkVersion="14"
now, so versions older than ICS are not supported.
License
Copyright 2015 Zhang Hai
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.