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>
这样就简单的实现了一个效果。我们在继续深入添加些属性:
<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 错误信息的字体样式
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


猜你喜欢
- Spring Boot从天而降Spring Boot是企业级开发的整体整合解决方案,在现在企业项目开发中使用非常普遍,Spring Boot
- 接着上篇文章,我们继续来学习 Java 中的字节流操作。装饰者缓冲流 BufferedInput/OutputStream装饰者流其实是基于
- 一、JDK * Java 在 java.lang.reflect 包中有自己的代理支持,该类(Proxy.java)用于动态生成代理类,只
- 一:日志:1、配置日志级别日志记录器(Logger)的行为是分等级的。如下表所示:分为:OFF、FATAL、ERROR、WARN、INFO、
- 昨天遇到了点问题解决浪费了一些时间(导致更新内容较少)回顾下问题项目出现Unable to import maven project: Se
- smoothstep另一种用法在之前OpenGL Shader-抗锯齿实现文章中所介绍的那样:为了抗锯齿效果可以用smoothstep函数对
- 一、简介编写手机App时,有时需要使用文字转语音(Text to Speech)的功能,比如开车时阅读收到的短信、导航语音提示、界面中比较重
- 1.首先,需要指定获取的文件夹,以及获取文件的文件名;文件夹:strLocalPath = System.Windows.Forms.App
- 一、MVVM 和 MVVMLight介绍MVVM是Model-View-ViewModel的简写。类似于目前比较流行的MVC、MVP设计模式
- http://mp.baomidou.com/#/?id=%e7%ae%80%e4%bb%8b 这个是mybatisplus的官方文档,上面
- Unity2018已经把打包过程简化很多了我们只需要关心两个API:1.BuildPipline.BuildAssetBundles() 打
- 这几天在弄后端管理系统向指定的Android
- 众所周知在android7.0,修改了对私有存储的限制,导致在获取资源的时候,不能通过Uri.fromFile来获取uri了我们需要适配7.
- 今天有朋友问我Struts2中Action必须实现execute方法吗?顺利的回答出来了。其实分两种情况:1)如果你的Action类是继承自
- 前提:你的电脑是AMD处理器,想使用Android studio,自己的电脑系统是win10家庭版,在百度找到勾选hyper-v就能用,然后
- spring boot 作为微服务的便捷框架,在错误页面处理上也有一些新的处理,不同于之前的spring mvc 500的页面处理是比较简单
- 这里直接给出C#类成员一般初始化顺序:子类静态字段子类静态构造子类实例字段父类静态字段父类静态构造父类实例字段父类实例构造子类实例构造为什么
- 一、首先来看一个例子package net.println.kotlin.chapter4/** * @author:wangdong *
- Android 破解视频App去除广告功能作为一个 * 丝程序猿也有追剧的时候,但是当打开视频app的时候,那些超长的广告已经让我这个 * 丝无法忍
- swing自带的窗体是不能够满足我们的应用需求的,所以需要制作任意图片和形状的JFrame框体,比如下图:并且可以设置窗体背景图片的透明度下