Android开发手册TextInputLayout样式使用示例

作者:芝麻粒儿 时间:2023-10-16 11:03:12 

前言

前面小空带同学们学了EditText控件,又用其实践做了个验证码功能,以为这就完了吗?

然而并没有。

Android在5.0以后引入了Materia Design库的设计,现在又有了Jetpack UI库的设计。帮助开发者更高效的实现炫酷的UI界面,降低开发门槛。

Jetpack我们后面再说,承接之前的EditText,先说说Materia Design里的TextInputLayout。

使用方式是将TextInputEditText或EditText套到TextInputLayout内,这样友情提示信息hit就可以带有动画(上浮为标题),计数/密码可见等属性设置。  

布局代码

<com.google.android.material.textfield.TextInputLayout
   android:layout_width="match_parent"
   android:layout_height="wrap_content"
   android:hint="请输入用户名">
   <EditText
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:inputType="number" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
   android:layout_width="match_parent"
   android:layout_height="wrap_content"
   android:layout_marginTop="60dp"
   android:hint="请输入密码">
   <EditText
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:inputType="textPassword" />
</com.google.android.material.textfield.TextInputLayout>

Android开发手册TextInputLayout样式使用示例

这样就简单的实现了一个效果。我们在继续深入添加些属性:

<com.google.android.material.textfield.TextInputLayout
   android:layout_width="match_parent"
   android:layout_height="wrap_content"
   android:hint="请输入用户名"
   app:hintAnimationEnabled="false">
   <EditText
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:inputType="number" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
   android:layout_width="match_parent"
   android:layout_height="wrap_content"
   android:layout_marginTop="60dp"
   android:hint="请输入密码"
   app:counterEnabled="true"
   app:counterMaxLength="10"
   app:passwordToggleEnabled="true">
   <EditText
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:inputType="textPassword" />
</com.google.android.material.textfield.TextInputLayout>

从运行结果可以看出,设置了字数限制后,自动在编辑框右下角显示最大字数和当前输入字数(随着输入情况实时变化),并且更改了颜色样式

😜属性介绍

  • app:boxCollapsedPaddingTop 设置用于编辑文本在框模式下折叠的顶部填充的值 

  • app:boxStrokeErrorColor 在显示错误时设置轮廓框的描边颜色。 

  • app:boxStrokeWidth 设置描边的宽度 

  • app:boxStrokeWidthFocused 设置获取焦点框的描边宽度 

  • app:counterEnabled     是否显示计数器 

  • app:counterMaxLength 设置计数器的最大值,与counterEnabled同时使用 

  • app:counterTextAppearance       计数器的字体样式 

  • app:counterOverflowTextAppearance 输入字符大于我们限定个数字符时的字体样式 

  • app:errorEnabled  是否显示错误信息 

  • app:errorTextAppearance&nbsp;   错误信息的字体样式 

  • app:endIconCheckable 设置是否显示结束图标 

  • app:endIconContentDescription 为结束图标设置内容说明 

  • app:endIconDrawable 设置结束图标图像 

  • app:endIconMode 设置模式 

  • app:endIconTintMode 指定混合模式,用于将 指定的色调应用于可绘制的结束图标。 

  • app:helperText 设置帮助文本 

  • app:helperTextEnabled 设置是否激活帮助文本 

  • app:helperTextTextColor 设置帮助文本颜色 

  • app:hintAnimationEnabled  是否显示hint的动画,默认true 

  • app:hintEnabled    是否使用hint属性,默认true 

  • app:hintTextAppearance      设置hint的文字样式(指运行动画效果之后的样式) 

  • app:passwordToggleDrawable    设置密码开关Drawable图片,于passwordToggleEnabled同时使用 

  • app:passwordToggleEnabled      是否显示密码开关图片,需要EditText设置inputType 

  • app:passwordToggleTint     设置密码开关图片颜色 

  • app:passwordToggleTintMode    设置密码开关图片(混合颜色模式),与passwordToggleTint同时使用

来源:https://juejin.cn/post/7060022297033179150

标签:Android,TextInputLayout,样式
0
投稿

猜你喜欢

  • C#实现的文件上传下载工具类完整实例【上传文件自动命名】

    2023-03-05 17:39:38
  • Android 8.0系统中应用图标的适配微技巧

    2022-09-29 00:22:26
  • Spring整合Mybatis思路梳理总结

    2021-08-19 18:46:38
  • 解决Android Studio 3.0 butterknife:7.0.1配置的问题

    2021-08-20 09:23:05
  • Scala小程序详解及实例代码

    2023-03-29 12:10:56
  • SpringCloud OpenFeign 服务调用传递 token的场景分析

    2022-12-26 22:24:07
  • C#串口通信实现方法

    2023-04-15 06:31:11
  • C# memcached缓存使用实例代码

    2022-01-15 02:17:11
  • Toast类避免显示时间叠加的方法

    2021-08-20 02:01:42
  • 详解spring security之httpSecurity使用示例

    2023-08-03 09:46:17
  • Java从服务端下载Excel模板文件的两种方法

    2021-08-29 05:44:40
  • C# HttpClient 如何使用 Consul 发现服务

    2021-09-28 01:06:18
  • Android Compose 属性动画使用探索详解

    2022-08-07 11:06:57
  • python调用java的jar包方法

    2023-06-23 21:54:24
  • SpringBoot中的Aop用法示例详解

    2023-03-31 14:12:00
  • Spring集成Swagger常见错误及解决办法

    2023-07-10 05:01:17
  • Mybatis单个参数的if判断报异常There is no getter for property named 'xxx' in 'class java.lang.Integer'的解决方案

    2023-10-16 14:56:01
  • Android高德地图marker自定义弹框窗口

    2023-06-22 13:07:05
  • 详解C#中的属性和属性的使用

    2023-12-03 09:51:39
  • C++多重继承与虚继承分析

    2023-04-22 14:49:16
  • asp之家 软件编程 m.aspxhome.com