Material Design 学习(一)———TextInputLayout和TextInputEditText
compile 'com.android.support:design:23.4.0'
基本效果:
TextInputLayout
布局可以可以显示一个浮动的文字,用来展示 EditText 的体质文字 hint 和 EidtText 输入错误时的错误文字
setHint(); //设置EditText的提示文字
setErrorEnable(boolean); //设置是否显示编辑框的错误提示
setError(CharSequence); //设置编辑框的错误提示文字
基本用法:
<android.support.design.widget.TextInputLayout
android:id="@+id/register_password_til"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/register_password_et"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:inputType="textPassword"
android:hint="密码"/>
</android.support.design.widget.TextInputLayout>
java 代码:
/**
* 设置密码输入错误提示,密码长度至少为6位
*/
private void setErrorHint(){
mPasswordTil= (TextInputLayout)findViewById(R.id.register_password_til);
mPasswordEt= (EditText)findViewById(R.id.register_password_et);
mPasswordEt.addTextChangedListener(newTextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
if(charSequence.length()<6){
mPasswordTil.setError("密码长度至少为6位");
mPasswordTil.setErrorEnabled(true);
mRegisterBtn.setEnabled(false);
}else{
mPasswordTil.setErrorEnabled(false);
mRegisterBtn.setEnabled(true);
}
}
@Override
public void afterTextChanged(Editable editable) {}
});
}
TextInputEditText
TextInputEditText 是EditText的子类 可与 TextInputLayout 一起使用,使用方法类似,只是UI效果不同。