Android5.0 TextInputLayout使用小结

Design库-TextInputLayout那些事

TextInputLayout用于EditView输入框的,主要解决之前EditText在获得焦点编辑时hint属性提示语消失的问题,还可以对用户错误输入进行提示。

1.添加依赖包

compile 'com.android.support:design:22.2.0'

2.属性介绍

  1. hint 设置提示信息
  2. app:hintAnimationEnabled 设置是否可以使用动画,默认是true
  3. app:hintEnabled 设置是否可以使用hint属性,默认是true
  4. app:hintTextAppearance =”@style/MyStyle” 设置hint的文本属性,改变hint文字的大小颜色等属性
  5. app:counterEnabled=”true”//设置是否可以开启计数器,默认是false
  6. app:counterOverflowTextAppearance=”@style/MyStyle2”//设置计算器越位后的文字颜色和大小
  7. app:counterTextAppearance=”@style/MyStyle”//设置正常情况下的计数器文字颜色和大小
  8. app:counterMaxLength=”11”//设置计算器的最大字数限制
  9. app:errorEnabled=”true”//是否允许错误提示
  10. app:errorTextAppearance=”@style/MyStyle2”//错误提示的文字大小和颜色
    

3.示例

activty_main.xml

.support.design.widget.TextInputLayout
        android:id="@+id/textInputLayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        >

        "@+id/editText"
            android:layout_width="match_parent"
            android:layout_height="40dp"
            android:textColor="@android:color/black" />


    .support.design.widget.TextInputLayout>

MainActivity.java

 final TextInputLayout layout = (TextInputLayout) findViewById(R.id.textInputLayout);
        EditText edit = (EditText) findViewById(R.id.editText);
        layout.setHint("请输入用户名");
        edit.addTextChangedListener(new TextWatcher() {
            @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) {
                    layout.setError("请输入至少6个字符");
                } else {
                    layout.setErrorEnabled(false);
                }
            }

            @Override
            public void afterTextChanged(Editable editable) {
            }
        });

你可能感兴趣的:(Android5.0 TextInputLayout使用小结)