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效果不同。