微软手机做网站服务器,企业排名查询,wordpress简单的验证码,建站科技公司一、Text fieids 允许用户在 UI 中输入文本#xff0c;TextInputLayout TextInputEditText。 在 Text fieids 没出来(我不知道)前#xff0c;想实现这个功能就需要自己自定义控件来实现这个功能。 几年前做个上面这种样式(filled 填充型)。需要多个控件组合 动画才能实现TextInputLayout TextInputEditText。 在 Text fieids 没出来(我不知道)前想实现这个功能就需要自己自定义控件来实现这个功能。 几年前做个上面这种样式(filled 填充型)。需要多个控件组合 动画才能实现而且需要处理的逻辑也很多。 了解到 Text fieids 那么你仅需 TextInputLayout TextInputEditText 即可实现之前的 UI 效果是不是美滋滋一起来研究一下现在用不上指不定啥时候就用上了。 「代码上一波特别简单」
?xml version1.0 encodingutf-8?
LinearLayout xmlns:androidhttp://schemas.android.com/apk/res/androidxmlns:apphttp://schemas.android.com/apk/res-autoandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:orientationverticalandroid:padding16dpcom.google.android.material.textfield.TextInputLayoutstylestyle/Widget.MaterialComponents.TextInputLayout.FilledBoxandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentandroid:layout_margin8dpandroid:hint请输入用户名com.google.android.material.textfield.TextInputEditTextandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentandroid:backgroundandroid:color/transparentandroid:inputTypephone //com.google.android.material.textfield.TextInputLayoutcom.google.android.material.textfield.TextInputLayoutandroid:idid/text_inputandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentandroid:layout_margin8dpandroid:hint请输入密码app:counterEnabledtrueapp:counterMaxLength10app:errorEnabledtrueapp:passwordToggleEnabledtrueapp:passwordToggleTintModemultiplycom.google.android.material.textfield.TextInputEditTextandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentandroid:backgroundandroid:color/transparentandroid:inputTypetextPassword //com.google.android.material.textfield.TextInputLayoutcom.google.android.material.textfield.TextInputLayoutstylestyle/Widget.MaterialComponents.TextInputLayout.OutlinedBoxandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentandroid:layout_margin8dpandroid:hint请输入用户名com.google.android.material.textfield.TextInputEditTextandroid:layout_widthmatch_parentandroid:layout_heightwrap_content //com.google.android.material.textfield.TextInputLayoutcom.google.android.material.textfield.TextInputLayoutstylestyle/Widget.MaterialComponents.TextInputLayout.OutlinedBoxandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentandroid:layout_margin8dpandroid:hint请输入密码com.google.android.material.textfield.TextInputEditTextandroid:layout_widthmatch_parentandroid:layout_heightwrap_content //com.google.android.material.textfield.TextInputLayout/LinearLayout1.1 特性 确保文本字段看起来具有交互性 两种类型填充型(filled)和轮廓型(outlined)默认填充型 文本字段的状态空白、有输入、错误等应该一目了然 保持标签和错误消息简短且易于采取行动 文本字段通常出现在表单和对话框中
1.2 TextInputLayout 继承 LinearLayout 包装 TextInputEditText、EditText 或子类的布局以便在用户输入文本时隐藏提示时显示浮动标签。
package com.google.android.material.textfield;
public class TextInputLayout extends LinearLayout {
}显示错误文字(图标) setErrorEnabled(boolean) setError(CharSequence) setErrorIconDrawable 显示帮助文本setHelperTextEnabled(boolean) setHelperText(CharSequence) setPlaceholderText(CharSequence) 显示占位符文本 显示字符计数器setCounterEnabled(boolean) setCounterMaxLength(int) 密码可见性/清除文本 setEndIconMode(int) 后缀文本setSuffixText 前缀文本setPrefixText binding.textInput!!.suffixText /100binding.textInput!!.prefixText 进度还有不少用到了可以自己研究研究常用的大概就这么些这些也可以在xml中直接设置。 错误提示(样式文案)是在 TextInputLayout 中设置而不是 TextInputEditText 。 二、填充型(filled) 图片摘自官网 容器(TextInputLayout) 前导图标(可选)例如密码的小锁子图标 标签文本(空态) 标签文本(已输入内容) 尾随图标 (可选) 光标 输入内容 提示文字 (可选) 底部横线 (未选中) 底部横线 (enabled选中) 支持的功能比较全如果自己写这么一个控件还是比较复杂的需要隐藏显示控件处理各种状态修改文字颜色。现在有这么个控件直接使用真香。 com.google.android.material.textfield.TextInputLayoutandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentandroid:layout_margin8dpandroid:hint请输入用户名com.google.android.material.textfield.TextInputEditTextandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentandroid:backgroundandroid:color/transparentandroid:inputTypephone //com.google.android.material.textfield.TextInputLayoutcom.google.android.material.textfield.TextInputLayoutandroid:idid/text_inputandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentandroid:layout_margin8dpandroid:hint请输入密码app:counterEnabledtrueapp:counterMaxLength10app:errorEnabledtrueapp:passwordToggleEnabledtrueapp:passwordToggleTintModemultiplycom.google.android.material.textfield.TextInputEditTextandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentandroid:backgroundandroid:color/transparentandroid:inputTypetextPassword //com.google.android.material.textfield.TextInputLayout
三、轮廓型(outlined) 支持的点跟上面填充型(filled)差不多可以借鉴一下。 com.google.android.material.textfield.TextInputLayoutstylestyle/Widget.MaterialComponents.TextInputLayout.OutlinedBoxandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentandroid:layout_margin8dpandroid:hint请输入用户名com.google.android.material.textfield.TextInputEditTextandroid:layout_widthmatch_parentandroid:layout_heightwrap_content //com.google.android.material.textfield.TextInputLayoutcom.google.android.material.textfield.TextInputLayoutstylestyle/Widget.MaterialComponents.TextInputLayout.OutlinedBoxandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentandroid:layout_margin8dpandroid:hint请输入密码com.google.android.material.textfield.TextInputEditTextandroid:layout_widthmatch_parentandroid:layout_heightwrap_content //com.google.android.material.textfield.TextInputLayout