全段时间无意中下载网易支付,因为用的是ios手机,原谅我大安卓开发用苹果机,原因之一就有体验酷炫的特效,进入app后进入登录注册页面,当输入信息时发现登录界面十分炫酷,就是点击输入框之后输入框上提示的文字会通过一个动画变换到输入框上方,不知道是怎么做的,就立马下了个android的网易支付app,但是安卓版未实现这种效果,一度搜索Android是否有此功能,然后发现在TextInputLayout,在Design效果中就已经具有此效果,TextInputLayout是22.2.0新添加的控件,具体使用和相关属性如下:
先在项目中app的build.gradle的dependencies中加入:
compile'com.android.support:design:26.+'
相关部分属性如下:
设置是否显示一个计数器
counterEnabled --- setCounterEnabled(boolean)
设置计数器的最大计数数值
counterMaxLength ---setCounterMaxLength(int)
控制密码可见开关是否启用
passwordToggleEnabled ---setPasswordVisibilityToggleEnabled(boolean)
设置密码可见开关的图标
passwordToggleDrawable---setPasswordVisibilityToggleDrawable(Drawable)
设置密码开关图片颜色
passwordToggleTint---setPasswordVisibilityToggleTintList(ColorStateList)
设置密码开关图片(混合颜色模式),与passwordToggleTint同时使用
passwordToggleTintMode---setPasswordVisibilityToggleTintMode(@NullablePorterDuff.Mode mode)
设置正常情况下的计数器文字颜色和大小
counterTextAppearance---setCounterTextAppearance(@StyleRes int resId)
设置hint的文本属性,改变hint文字的大小颜色等属性
hintTextAppearance---setHintTextAppearance(@StyleRes int resId)
相关应用代码如下:
动态gif效果图如下:
本文Demo地址:CoolLoginBox,有问题多多讨论,欢迎star和fork!