MaterialDesign系列文章(十二)TextInputLayout的使用

不怕跌倒,所以飞翔

在TextInputLayout官方文档API中描述了它是一种新的继承自LinearLayout的布局,让我们使用时里面只能包含一个EditText或者其子类的控件,该布局可以通过设置hint和Error显示浮动标签.接下来我们看看布局文件

使用方法

XML中的一些属性标签

  • app:hintEnable 浮动标签样式是否开启(默认是开启的)
  • app:errorEnabled 设置是否显示一个错误信息,布尔值
  • app:hintAnimationEnabled 浮动标签显示与隐藏之间有哦一个过度动画(默认是开启的)
  • app:hintTextAppearance 设置提示文字的样式(注意这里是运行了动画效果之后的样式,这里要通过主题进行更改)
    app:hintTextAppearance="@style/hintAppearance"
    <style name="hintAppearance" parent="TextAppearance.AppCompat">
          <item name="android:textSize">14sp</item>
          <item name="android:textColor">#ffee00</item>
      </style>
    
  • app:counterEnabled 是否增加后面的字数统计;但是要设置最大值
  • app:counterMaxLength 设置输入的最大值
  • app:passwordToggleEnabled 是否显示后面的眼睛图标
  • app:passwordToggleDrawable 可以替换眼睛图标成我们自己的
  • app:passwordToggleTint 给设置的眼睛图标设置颜色(这个必须在EditText或者其子类中设置** android:inputType="textPassword"**为密码样式的才能看见图标)
  • app:passwordToggleTintMode 控制密码可见开关图标的背景颜色混合模式
  • app:passwordToggleContentDescription 该功能是为Talkback或其他无障碍功能提供的。
  • app:counterOverflowTextAppearance 设置计算器越位后的文字颜色和大小(通过style进行设置的)
  • app:counterTextAppearance 设置正常情况下的计数器文字颜色和大小(通过style进行设置的)
  • app:errorTextAppearance 错误提示的文字大小和颜色(通过style进行设置的)

这里有一个很重要的问题要注意一下:

  • TextInputLayout只能又一个子类,并且这个子类必须是EditText的子类
  • android:hint 不要两个都设置,只需要设置一个,如果你要是设置两个的话,两个会重叠放在那里,会导致动画执行了,横杠上还有文字
  • 如过你想改变整体的颜色只要重新写一个主题的颜色就可以了
    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
      <item name="colorAccent">#3498db</item>
    </style>
    

一些常见的处理

设置错误的提示信息

TextInputLayout.setError("只是展示下错误的显示样式");

        if (!mLayoutTop.getEditText().getText().toString().equals("123456")) {
            mLayoutTop.setError("账号信息填写错误");
            mInputEditTextTop.setError("只是展示下错误的显示样式");//这个好丑啊,我是不会用了
        }

其实这些判断的话,和之前的EditText都是一样的,所以在这里就不说了


这一系列文章的地址,希望对大家有帮助

项目地址

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容