TextInputLayout&TextInputEditText的使用
2017-01-05 14:39
316 查看
TextInputLayout & TextInputEditText是Material Design里面的控件,相比EditText而言里面添加了动画和一些新特性,个人感觉体验更好些。非常深的研究并没有,这里记录下最常用的一些用法。
可以看到在切换不同输入框的时候User Name和Password有动画,Email无动画。动画就是TextInputLayout自带的,当然这个动画也可以关闭,Email输入框就是将动画关闭了。
要实现这个效果,只需添加如下代码即可
2.可以看到Password有对字符数的提示:
这里面有两个提示,是分别对TextInputLayout和TextInputEditText进行设置的。要实现如下效果,添加如下代码即可:
3.对密码的显示与隐藏的切换
这个效果需要添加一个命名空间 :
在布局文件中为TextInputLayout添加如下代码即可:
7.0效果
5.1效果
所以这里如果要兼容6.0或者7.0的时候还是要定制化的,不然达不到统一 效果。
至于下划线的颜色,就是主题中colorAccent的颜色,所以要改下划线颜色的话,在Theme里面将colorAccent改一下即可。
字条颜色就是textColor属性,默认是黑色。
效果图:
可以看到在切换不同输入框的时候User Name和Password有动画,Email无动画。动画就是TextInputLayout自带的,当然这个动画也可以关闭,Email输入框就是将动画关闭了。
效果解析:
提示语
1.可以看到User Name下面有一个限制字符的提示标签”?/10”要实现这个效果,只需添加如下代码即可
mTextInputUserName.setCounterEnabled(true); mTextInputUserName.setCounterMaxLength(10);
2.可以看到Password有对字符数的提示:
这里面有两个提示,是分别对TextInputLayout和TextInputEditText进行设置的。要实现如下效果,添加如下代码即可:
String passwordText = mPassword.getText().toString(); if (!TextUtils.isEmpty(passwordText) && passwordText.length() < 6) { //下面两行使用其中一行即可 mTextInputPassword.setError(getString(R.string.password_error)); mPassword.setError(getString(R.string.password_error)); //可以使用这个,带有Drawable的需要的API level是21,如果你兼容的版本是21以下的就不能用 //mPassword.setError(getString(R.string.password_error),getDrawable(R.mipmap.ic_launcher));//Call requires API level 21 }
3.对密码的显示与隐藏的切换
这个效果需要添加一个命名空间 :
xmlns:kevin="http://schemas.android.com/apk/res-auto"
在布局文件中为TextInputLayout添加如下代码即可:
kevin:passwordToggleDrawable="@drawable/eye"//图标 kevin:passwordToggleEnabled="true"//密码切换开关是否可以用 kevin:passwordToggleTint="@color/colorAccent"//图标的颜色,可有可无
颜色
说到颜色,这里值得注意的是,可以看到我将提示字符的颜色改成了紫色。但是默认颜色在6.0以下,UserName和Password是一样的。在6.0及6.0以上则不同了。7.0效果
5.1效果
所以这里如果要兼容6.0或者7.0的时候还是要定制化的,不然达不到统一 效果。
kevin:counterOverflowTextAppearance="@style/counterOverflowTextColor"//UserName的TextInputLayout里添加 kevin:errorTextAppearance="@style/counterOverflowTextColor"//Password的TextInputLayout里添加
至于下划线的颜色,就是主题中colorAccent的颜色,所以要改下划线颜色的话,在Theme里面将colorAccent改一下即可。
字条颜色就是textColor属性,默认是黑色。
android:textColor="@color/light_green_900"//绿色
DownLoad
DownLoad(CSDN)
DownLoad(github)
相关文章推荐
- Android Design Support Library使用详解——TextInputLayout与TextInputEditText
- Android Design Support Library使用详解——TextInputLayout与TextInputEditText
- Android Design Support Library使用详解——TextInputLayout与TextInputEditText
- Android Design Support Library使用详解——TextInputLayout与TextInputEditText
- 6.0新控件:TextInputLayout_TextInputEditText的使用
- TextInputLayout和TextInputEditText使用
- Android Design Support Library(一):FloatingActionButton、TextInputLayout、TextInputEditText简单用法
- Android Design Support Library(一):FloatingActionButton、TextInputLayout、TextInputEditText简单用法
- Android Design Support Library(一):FloatingActionButton、TextInputLayout、TextInputEditText简单用法
- Material Design 入门(一)——TextInputLayout和TextInputEditText
- Material Design 入门(一)——TextInputLayout和TextInputEditText
- Android Material Design 之TextInputLayout TextInputEditText
- TextInputLayout的使用
- Android5.0之TextInputLayout、FloatingActionButton的使用
- Material Design (二),TextInputLayout的使用
- Material Design之TextInputLayout、Snackbar的使用
- Android5.0之TextInputLayout、FloatingActionButton的使用
- TextInputLayout使用以及自定义颜色
- Android5.0之TextInputLayout、FloatingActionButton的使用
- Material Design之TextInputLayout使用示例