Android输入框组件。包括MaterialEditText、密码输入框、带清除按钮的输入框以及自动校验的输入框。

MaterialEditText

遵循谷歌Material Design设计风格的输入框,功能强大,支持清除按钮、长度校验、悬浮提示、出错提示、样式自定义、自定义校验规则,自动校验等。

  • 演示效果

EditText - 图1

  • 使用案例
  1. <com.xuexiang.xui.widget.edittext.materialedittext.MaterialEditText
  2. android:layout_width="match_parent"
  3. android:layout_height="wrap_content"
  4. android:hint="Floating Label"
  5. app:met_floatingLabel="normal" />
  6. <com.xuexiang.xui.widget.edittext.materialedittext.MaterialEditText
  7. android:layout_width="match_parent"
  8. android:layout_height="wrap_content"
  9. android:hint="Custom Floating Label Text"
  10. app:met_floatingLabel="normal"
  11. app:met_floatingLabelText="Label" />
  • 属性表: (MaterialEditText)
属性名类型默认值备注
met_baseColorcolorColor.BLACK线和文字的基础颜色
met_primaryColorcolor?colorPrimary高亮样式的颜色
met_floatingLabelenumnone(normal,highlight)悬浮提示文字的样式
met_errorColorcolor#e7492E出现错误时文字的颜色
met_minCharactersinteger0最少文字的限制(0代表无限)
met_maxCharactersinteger0最多文字的限制(0代表无限)
met_allowEmptybooleantrue是否允许输入为空
met_errorEmptystring"输入不能为空"为空的错误提示
met_singleLineEllipsisbooleanfalse底部文字是否显示单行,显示不全的省略号
met_helperTextstring/在底部的辅助文字
met_helperTextColorcolor-1辅助文字的颜色
met_floatingLabelTextstring/自定义悬浮提示的文字
met_floatingLabelPaddingdimension8dp输入框文字与悬浮提示文字的间距
met_hideUnderlinebooleanfalse隐藏底线
met_underlineColorcolor-1输入框底线的颜色
met_autoValidatebooleanfalse是否自动校验
met_iconLeftreference-1左侧图标资源
met_iconRightreference-1右侧图标资源
met_iconPaddingdimension8dp图标与输入区域的距离
met_clearButtonbooleanfalse是否使用清除按钮
met_passWordButtonbooleanfalse是否使用显示密码按钮
met_isAsteriskStylebooleanfalse密码输入框文字的样式是否是“*”
met_floatingLabelTextSizedimension12sp悬浮提示文字的大小
met_floatingLabelTextColorcolor-1悬浮提示文字的颜色
met_bottomTextSizedimension12sp底部提示文字的大小
met_floatingLabelAlwaysShownbooleanfalse悬浮提示一直显示(而不是通过动画显示/消失)
met_helperTextAlwaysShownbooleanfalse是否一直显示辅助性文字(错误提示),无论是否在焦点
met_floatingLabelAnimatingbooleanfalse是否使用动画显示悬浮提示
met_textColorcolor/输入文字的颜色
met_textColorHintcolor/提示文字的颜色
met_validateOnFocusLostbooleanfalse是否失去焦点后自动校验
met_checkCharactersCountAtBeginningbooleantrue是否在文字显示的时候开始计算文字的数量
met_regexpstring/校验的正则表达式
met_errorMessagestring/校验不通过的提示信息

ClearEditText

轻量级的带清除功能的输入框。

  • 演示效果

EditText - 图2

  • 使用案例
  1. <com.xuexiang.xui.widget.edittext.ClearEditText
  2. android:id="@+id/clearEditText"
  3. android:layout_width="match_parent"
  4. android:layout_height="wrap_content"
  5. android:layout_margin="5dp" />
  6. <com.xuexiang.xui.widget.edittext.ClearEditText
  7. android:id="@+id/clearEditText1"
  8. android:layout_width="match_parent"
  9. android:layout_height="wrap_content"
  10. app:cet_clearIcon="@drawable/icon_clear"
  11. app:cet_clearIconSize="@dimen/default_clear_icon_size"
  12. android:layout_margin="5dp" />
  • 属性表: (ClearEditText)
属性名类型默认值备注
cet_clearIconreference/清除按钮的图片资源
cet_clearIconSizedimension0清除按钮的图片尺寸

PasswordEditText

支持密码显示隐藏的输入框。

  • 演示效果

EditText - 图3

  • 使用案例
  1. <android.support.design.widget.TextInputLayout
  2. android:id="@+id/input_layout_password"
  3. android:layout_width="match_parent"
  4. android:layout_height="wrap_content"
  5. android:layout_margin="5dp"
  6. android:layout_marginTop="16dp"
  7. android:gravity="start"
  8. android:textAlignment="viewStart">
  9. <com.xuexiang.xui.widget.edittext.PasswordEditText
  10. android:id="@+id/input_password"
  11. android:layout_width="match_parent"
  12. android:layout_height="wrap_content"
  13. android:gravity="start"
  14. android:hint="输入密码"
  15. android:inputType="textPassword"
  16. android:textAlignment="viewStart"
  17. app:pet_enableIconAlpha="true" />
  18. </android.support.design.widget.TextInputLayout>
  19. <com.xuexiang.xui.widget.edittext.PasswordEditText
  20. android:id="@+id/input_password2"
  21. fontPath="fonts/Roboto-Thin.ttf"
  22. android:layout_width="match_parent"
  23. android:layout_height="wrap_content"
  24. android:layout_margin="5dp"
  25. android:layout_marginTop="8dp"
  26. android:gravity="start"
  27. android:hint="重复密码"
  28. android:inputType="textPassword"
  29. android:textAlignment="viewStart"
  30. app:pet_enableIconAlpha="true"
  31. app:pet_hoverShowsPw="true" />
  • 属性表: (PasswordEditText)
属性名类型默认值备注
pet_iconShowintegerR.drawable.icon_visibility_24dp显示密码的图标资源
pet_iconHideintegerR.drawable.icon_visibility_off_24dp隐藏密码的图标资源
pet_hoverShowsPwbooleanfalse是否触摸显示密码
pet_nonMonospaceFontbooleanfalse是否使用系统默认字体
pet_enableIconAlphabooleantrue图标是否设置透明度
pet_isAsteriskStylebooleanfalse密码输入框文字的样式是否是“*”

ValidatorEditText

可自动验证的输入框,支持自定义校验规则。可支持自定义错误提示。

  • 演示效果

EditText - 图4

  • 使用案例
  1. <com.xuexiang.xui.widget.edittext.ValidatorEditText
  2. style="@style/EditText.Normal"
  3. android:layout_width="300dp"
  4. android:layout_margin="10dp"
  5. android:singleLine="true"
  6. app:vet_tipPosition="top"
  7. app:vet_regexp="@string/regexp_number_only"
  8. app:vet_errorMessage="@string/tip_number_only_error_message"/>
  • 属性表: (ValidatorEditText)
属性名类型默认值备注
vet_regexpstring/校验的正则表达式
vet_errorMessagestring/校验不通过的提示信息
vet_autoValidatebooleanfalse是否自动校验
vet_show_errorIconbooleantrue是否显示出错图标
vet_errorIconreferenceR.drawable.ic_default_tip_btn出错提示的图片资源
vet_errorIconSizedimension0出错提示的图片尺寸
vet_tipPositionenumright(left,top,bottom)出错提示显示的位置

MultiLineEditText

多行计数输入框。

  • 演示效果

EditText - 图5

  • 使用案例
  1. <com.xuexiang.xui.widget.edittext.MultiLineEditText
  2. android:layout_width="match_parent"
  3. android:layout_height="wrap_content"
  4. android:layout_marginTop="10dp" />
  • 属性表: (MultiLineEditText)
属性名类型默认值备注
mlet_maxCountinteger240最大输入文字的数目
mlet_ignoreCnOrEnbooleantrue是否忽略中英文的差异
mlet_hintTextstring/输入框提示文字
mlet_hintTextColorcolorR.attr.xui_config_color_hint_text输入框提示文字的颜色
mlet_contentPaddingdimension10dp输入框的padding
mlet_contentBackgroundreference/输入框背景
mlet_contentTextstring/输入框的内容
mlet_contentTextSizedimension14sp输入框文字的大小
mlet_contentTextColorcolorR.attr.xui_config_color_input_text输入框文字的颜色
mlet_contentViewHeightdimension140dp输入框的高度
mlet_showSurplusNumberbooleanfalse统计数字显示剩余数目

VerifyCodeEditText

用于手机验证码验证和支付密码验证的输入框组件。

  • 演示效果

EditText - 图6

  • 使用案例
  1. <com.xuexiang.xui.widget.edittext.verify.VerifyCodeEditText
  2. android:id="@+id/vcet_1"
  3. android:layout_width="match_parent"
  4. android:layout_height="wrap_content"
  5. android:layout_marginLeft="10dp"
  6. android:layout_marginTop="26dp"
  7. android:layout_marginRight="10dp"
  8. app:vcet_is_pwd="true"
  9. app:vcet_number="6"
  10. app:vcet_pwd_radius="10dp"
  11. app:vcet_text_color="#000000"
  12. app:vcet_width="50dp" />
  • 属性表: (VerifyCodeEditText)
属性名类型默认值备注
vcet_numberinteger4输入框的数量
vcet_widthdimension21dp每一个输入框的宽度
vcet_dividerreference/输入框之间的分割线
vcet_text_colorcolorColor.BLACK输入框文字颜色
vcet_text_sizedimension16sp输入框文字大小
vcet_bg_focusreference/输入框获取焦点时背景
vcet_bg_normalreference/输入框没有焦点时背景
vcet_is_pwdbooleanfalse是否是密码模式
vcet_pwd_radiusdimension5dp密码模式时,圆的半径