MaterialEditText开源库学习

邓丰
2023-12-01

简介与库地址

其实在AppCompat V21中就提供了Material Design的控件外观支持,其中就有一个EditText,但是此EditText使用起来不是很方便,
才有了MaterialEditText开源库的诞生,下面就随我一起来学习一下此开源库的使用。

【开源库地址:https://github.com/rengwuxian/MaterialEditText

MaterialEditText的配置属性详解

  1. 代码中使用setEnabled(boolean enabled)方法设置MaterialEditText是否为可编辑状态;
  2. 悬浮的标签(Floating Label):
    1. app:met_floatingLabel=”normal”:低亮的悬浮标签;
    2. app:met_floatingLabel=”highlight”:高亮的悬浮标签;
    3. app:met_floatingLabelTextColor=”#8805ad”:默认的悬浮低亮标签为灰色,高亮为黑色,此属性可以自定义悬浮标签颜色。
  3. 帮助文字(Helper Text):
    1. app:met_helperText=”Helper Text”:设置helpertext文字;
    2. app:met_helperTextColor=”#795548”:设置hlpertext文字颜色。
  4. EditText下划线(underline):
    1. app:met_hideUnderline=”true”:underline显示开关;
    2. app:met_underlineColor=”#003587”:underline颜色。
  5. 错误提示:
    1. app:met_errorColor=”#ddaa00”:设置错误提示的颜色;
    2. setError(CharSequence error):设置error提示文本。
  6. 最长/最短字符数:
    1. app:met_minCharacters=”3”:设置最小字符数限制;
    2. app:met_maxCharacters=”5”:设置最大字符数限制。
  7. 自定义Validation:自定义匹配规则,检查输入内容是否匹配。

    final MaterialEditText validationEt = (MaterialEditText) findViewById(R.id.validationEt);
     validationEt.addValidator(new RegexpValidator("Only Integer Valid!", "\\d+"));
        final Button validateBt = (Button) findViewById(R.id.validateBt);
        validateBt.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // validate
                validationEt.validate();
            }
      });
  8. 自定义字体样式:在main文件夹中新建assets/fonts目录,并将自定义字体放到下面

    1. app:met_accentTypeface=”fonts/Roboto-LightItalic.ttf”:设置悬浮标签、helpertext、字数提示等字体;
    2. app:met_typeface=”fonts/Roboto-LightItalic.ttf”:设置EditText输入内容的字体格式。
  9. 清除按钮:app:met_clearButton=”true”:clearbutton是否展示的开关。

  10. 为EditText添加icon:

    1. app:met_iconLeft=”@mipmap/ic_phone”:设置左icon图标【同理有met_iconRight】;
    2. app:met_iconPadding=”0dp”:设置图片的padding值,默认为16dp;

文本输入框开源库个人小结:

本文链接上一篇文章【AndroidValidator使用:http://blog.csdn.net/u011771755/article/details/49022175】,为自己对网络上两个比较优秀开源库的学习记录。

自己也同时编写了方便以后复习使用的整合Demo,里面将两篇文章学习到的开源库演示代码放在了一个工程中,方便对比学习。并放在了个人的github上面【https://github.com/NateRobinson/FormValidateDemo

 类似资料: