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

不怕跌倒,所以飞翔

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

使用方法

XML中的一些属性标签

  • app:hintEnable 浮动标签样式是否开启(默认是开启的)
  • app:errorEnabled 设置是否显示一个错误信息,布尔值
  • app:hintAnimationEnabled 浮动标签显示与隐藏之间有哦一个过度动画(默认是开启的)
  • app:hintTextAppearance 设置提示文字的样式(注意这里是运行了动画效果之后的样式,这里要通过主题进行更改)
    app:hintTextAppearance="@style/hintAppearance"
    
    
  • 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 不要两个都设置,只需要设置一个,如果你要是设置两个的话,两个会重叠放在那里,会导致动画执行了,横杠上还有文字
  • 如过你想改变整体的颜色只要重新写一个主题的颜色就可以了
    
    

一些常见的处理

设置错误的提示信息

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

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

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


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

  • MaterialDesign系列文章(一)转场动画

  • MaterialDesign系列文章(二)Theme主题设置

  • MaterialDesign系列文章(三)Palette库来获取图片的主要色彩

  • MaterialDesign系列文章(四)RecealAnimation动画的使用

  • MaterialDesign系列文章(五)ToolBar的使用

  • MaterialDesign系列文章(六)沉浸式状态栏的使用

  • MaterialDesign系列文章(七)TabLayout的使用

  • MaterialDesign系列文章(八)CollapsingToolbarLayout的使用

  • MaterialDesign系列文章(九)AppBarLayout的使用

  • MaterialDesign系列文章(十)NavigationView和DrawerLayout的使用

  • MaterialDesign系列文章(十一)NestedScrollView的使用

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

  • MaterialDesign系列文章(十三)FloatingActionButton的使用

  • MaterialDesign系列文章(十四)SnackBar的使用

  • MaterialDesign系列文章(十五)BottomSheet的使用

  • MaterialDesign系列文章(十六)BottomNavigationView的使用

  • MaterialDesign系列文章(十七)Behavior的相关问题

  • CoordinatorLayout的分析

项目地址

你可能感兴趣的:(MaterialDesign系列文章(十二)TextInputLayout的使用)