Design库-TextInputLayout属性详解

Android修行手册 - TextInputLayout使用学习 设置用于编辑文本在框模式下折叠的顶部填充的值。 阅读详情
1.什么是TextInputLayout


Layout which wraps an {@link android.widget.EditText} (or descendant) to show a floating label when the hint is hidden due to the user inputting text.

译:一个布局包裹了EditText(或者EditText的子类),在用户输入文本的时候显示一个浮动的提示标签。

以上是源码对TextInputLayout的解释,从上面我们不仅知道了TextInputLayout的

作用:在用户输入文本的时候显示一个浮动的提示标签,

而且知道了:

TextInputLayout内部必须包含一个EditText(或者EditText的子类)




2.为什么要用TextInputLayout


一言不合就上图:


是否使用了TextInputLayout

传统的EditText,在用户输入信息的时,hint(提示)会自动消失,就如上图的中的第一行所示,这时候用户可能会忘记自己需要输入的内容是什么了,得删除所有的输入内容才可以看到hint的提示内容,这样的用户体验不太好。

而图二在用户输入的时候,hint会默认弹到上方,并且携带一个动画效果。它仅仅只是在EditText外包裹了一层TextInputLayout,然而就是这样一个小小的改动不仅提高了与用户交互的体验,而且解决了hint输入后消失的问题,唯一的不好就是“占地面积”大了一点,当然这一点点小瑕疵还是可以忽略的。



3.TextInputLayout的基本使用


XML布局:

<android.support.design.widget.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.support.design.widget.TextInputLayout>

是不是感觉很简单,就是包裹了一层而已。接下来看看它给我们提供了哪些Api ↓↓↓



4.TextInputLayout的基本属性


· 4.1.设置提示信息,这个不仅可以设置在EditText还可以直接设置在TextInputLayout

android:hint="请输入您的手机号"

总感觉设置在TextInputLayout上逼格比较高,其实并没有什么差别。


· 4.2.设置hint的相关属性(由于TextInputLayout也是一个自定义控件,所以以app开头,并且需要给予命名空间:xmlns:app="http://schemas.android.com/apk/res-auto")

app:hintAnimationEnabled="true"//设置是否可以使用动画,默认是true

app:hintEnabled="true"//设置是否可以使用hint属性,默认是true

app:hintTextAppearance="@style/MyStyle"//设置hint的文本属性,改变hint文字的大小颜色等属性

附上MyStyle的代码:

<style name="MyStyle">

            <item name="android:textColor">#00FFFF</item>

            <item name="android:textSize">12sp</item>

</style>

效果图:


改变hint的颜色

一开始感觉没啥作用啊,是不是这个属性没有效果,结果点击了以后发现,hintTextAppearance设置的是:

上弹以后的文字的显示---(实践检验真理)

我们知道hint的文字大小和text的一样,如果你非要设置hint的字体大小,请点开这个链接简单粗暴解决EditText的hint和text文字大小


· 4.3 设置Counter(计数器)的相关属性

app:counterEnabled="true"//设置是否可以开启计数器,默认是false

app:counterOverflowTextAppearance="@style/MyStyle2"//设置计算器越位后的文字颜色和大小

app:counterTextAppearance="@style/MyStyle"//设置正常情况下的计数器文字颜色和大小

app:counterMaxLength="11"//设置计算器的最大字数限制

这里MyStyle是设置文字颜色为蓝色,大小为16sp,MyStyle2是设置文字颜色为红色,大小为20sp,下面看看效果:



计数器

这个功能可以很好的告诉用户目前输入的文字位数,已经告诉用户已经超标请不要在输入了。


· 4.4 设置错误提示的相关属性

app:errorEnabled="true"//是否允许错误提示

app:errorTextAppearance="@style/MyStyle2"//错误提示的文字大小和颜色

在代码中设置:

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

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

效果如图:



显示错误的样式

原本的EditText是显示在右侧,样式是一个感叹号和一个文本框,而被TextInputLayout包裹后,显示在了输入框的下方。(原谅我的图大得有点吓人,用Android Studio直接截得)。


5.相关链接

欢迎大家推荐有关TextInputLayout的相关知识 -。-

Android Material Design实战:TextInputLayout让你的表单输入体验飞起来 本文深入解析Android Material Design中的TextInputLayout组件,通过实战演示如何优化表单输入体验。文章详细介绍了其核心设计哲学、基础集成方法,并重点讲解了如何实现优雅的错误处理、密码可见性切换、字符计数等高级功能,帮助开发者构建专业、流畅且符合Material Design规范的交互界面。 阅读详情

相关推荐

【使用TextInputLayout创建一个比较完美的登录界面】

使用TextInputLayout创建一个比较完美的登录界面 文章目录前言一、TextInputLayout是什么?二、详解1.TextInputLayout 相关 API2.使用详解1.简单使用2.显示输入框可输入最大数量并显示错误提示3.设置密码可见性切换4.文本框输入校验总结 前言 本文将告知大家如何快速的创建一个比较完美的登录界面 一、TextInputLayout是什么? TextInputLayout的简单使用,是 Google 推出的整个 Material Design 库的一个缩影:.

weixin_41237211的博客 2068

Android Material Design之TextInputLayout,TextInputEditText(十四)

TextInputLayout,TextInputEditText

csdn_yang123的博客 1053

Android Material Design控件之TextInputLayout

Material Design控件之TextInputLayout,修饰EditText的布局,有且只有一个EditText,md风格UI显示:计数counter,动画提示hintAnimation,错误提示,密码显示按钮等

LinWeiJ的博客 740

Android Design新控件之TextInputLayout(文本输入布局)

谷歌在推出Android5.0的同时推出了全新的设计Material Design,谷歌为了给我们提供更加规范的MD设计风格的控件,在2015年IO大会上推出了Design支持包,Design常用的新控件包括: TextInputLayout(文本输入布局)TabLaout(选项卡布局)SnackbarFloatingActionButton(浮动按钮)NavigationView(导航视图

听闻的博客 917

AutoDock Vina实战:从零开始完成分子对接(附7VU6案例详解)

本文提供了一份详细的AutoDock Vina分子对接实战指南,以SARS-CoV-2 3CL蛋白酶(PDB ID: 7VU6)为例,从零开始手把手教学。内容涵盖软件安装、环境配置、受体与配体文件准备、对接参数设置,以及结果分析与可视化解读,旨在帮助计算生物学与药物发现领域的新手快速掌握这一核心技能。

ooo22的博客 536

产品经理-面试题目--持续更新

答:面试官,你好,我叫XXX,来自于XXXX,我系统的学习过软件开发,也主动的积累了不少产品方面的实战经验,在学习期间,我自己独立的完成了2个深度项目,一个是仿抖音的短视频APP全流程设计,另外一个是电商后台系统的模块,通过这些项目,我不仅熟练使用Axure等工具做出高保真原型图和清晰的产品框架,也形成了数据驱动和用户优先的思维习惯,另外,我也注重拓展自己的能力边界,拿到了CAIE人工智能证书,我希望能把AI能力融入到产品场景,提升体验和效率,我非常喜欢产品工作带来的创造性和逻辑性,希望有机会加入贵公司。

m0_63966958的博客 957

TextInputLayout只看这一篇就够了

前言 Google为了整体风格的Material化,对输入框进行了优化处理,视觉效果非常棒,并且整体非常丝滑。 先展示几个google为我们设计的风格。 <com.google.android.material.textfield.TextInputLayout ... style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"> </com.google.

柳的博客 8897

OpenCV机械臂手眼标定

这篇文章总结了手眼标定的原理,利用OpenCV自带的函数套用参数即可完成眼在手上和眼在手外两种标定。

Q先森的博客 6588

Android Material Design 系列之 TextInputLayout 使用详解

前言 本文是 Material Design 系列第四篇:TextInputLayout 主要是作为 EditText 的容器,从而为 EditText 生成一个浮动的 Label,当用户点击 EditText 的时候,EditText 中的 hint 字符串会自动移到 EditText 的左上角。 TextInputLayout 的简单使用,是 Google 推出的整个 Material Design 库的一个缩影:Google 将 UI 视觉效果设计得华丽且流畅,同时代码封装更为优雅,开发者只需要在 l

一名互联网时代苟且偷生的 Android码农 2万+

Qt + windows + Linux+QtInstallerFramework打包教程

本文介绍了使用Qt Installer Framework在Windows和Linux系统下打包Qt应用程序的完整教程。Windows部分详细说明了从下载安装框架、配置环境变量、生成release版本,到创建安装包目录结构和修改配置文件的完整流程。Linux部分则重点讲解了环境变量设置、桌面应用配置(.desktop文件)以及两种打包方案:一种使用linuxdeployqt生成AppImage文件,另一种采用类似Windows的安装包方式。教程提供了关键配置文件(config.xml、package.xml

Qt历险记,专注Qt技术,三年医疗设备研发经验,1年机器视觉研发经验,半年柔性传感研发经验。 516

第一讲:halcon模板匹配捆绑测量矩形检测芯片针脚

使用halcon模板匹配捆绑测量矩形,检测位置发生变换的芯片针脚缺陷。

uiopmn1的博客 2995

Android TextInputLayout 使用及其属性

Android 从5.0版本开始,新增了Android Materia Design库,让开发者高效的实现炫酷的UI效果 属性: app:Theme 设置下划线或其他的颜色属性 android.support.design:counterEnabled 是否显示输入长度计数器 android.support.design:counterMaxLength 设置计数器的最大值,与...

阳光大男孩!!!的博客 8779

Go语言爬虫:chromedp 的详细使用

chromedp 是 Go 语言中无头浏览器自动化的终极利器。它能驱动真实的 Chrome 浏览器,处理 JavaScript 渲染、复杂交互和反爬虫机制

数据知道的博客 4492

Android Design TextInputLayout 解析,带你深入TextInputLayout

出来工作好几年了,最近冷静下来总结发现自己技术真心不咋的,所以决定开始写博客来锻炼自己。 想了想写什么好呢,又不是大牛,所以写不出非常高深的好文章出来,所以从最基础的写起走。2015 I/O大会谷歌推出了 Android Design Support Library,所以就更新下来看了看。从最简单的开始写吧,来看TextInputLayout,先直上效果图。 这就是TextIn

u011051627的博客 8623

【CanMV K210】AI 视觉 MNIST 手写数字识别与分类推理

本文介绍了基于CanMV K210开发板的MNIST手写数字识别实验。实验通过摄像头采集图像,经过开窗、灰度化、缩放、反色等预处理后,使用KPU神经网络加速器运行MNIST分类模型,最终在LCD上显示识别结果。重点讲解了分类模型与检测模型的区别、图像预处理流程以及KPU推理结果的解析方法。实验帮助理解从图像采集到分类输出的完整AI视觉处理链路,并提供了调试思路和硬件连接说明。

Mr数据杨 364

论文复现《基于最大李雅普诺夫指数的电力系统暂态电压稳定评估方案》

电力系统暂态电压稳定评估方案 摘要 本研究提出了一种基于最大李雅普诺夫指数的电力系统暂态电压稳定评估方法。通过分析相空间中相邻轨迹的收敛或发散特性,该方法能够提前判别系统稳定性。论文首先阐述了暂态电压稳定机理,详细介绍了最大李雅普诺夫指数的计算方法。针对IEEE-39节点系统,建立了仿真模型并获取不同故障场景下的数据。研究开发了完整的评估程序,包括数据预处理、相空间重构、指数计算等模块,并通过与时域仿真结果的对比验证了方法的准确性。实验结果表明,该方法能够快速有效地评估电力系统的暂态电压稳定性,为系统安全运

max500600的博客 187

Android Design风格组件之TextInputLayout

TextInputLayout特性 1其中包含的EditText则会让hint变成一个在EditText上方的浮动标签。同时还包括一个漂亮的material动画。 2它可以处理错误 3 统计输入框的字符数

mybook1122的专栏 2274

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Android Support Design Library之TextInputLayout

相信普通的用户在使用手机的时候经常遇到一个输入框没输入的时候会有灰色的提示,可一旦输入些许字符后,用户很快忘记了这个输入框要输入什么,但是退回去却又要重新输入,对于用户的这个要求,谷歌看在眼里,在2015推出了TextInputLayout来满足这个需求。那么对于怎么使用这个控件,我将用模仿网易邮箱大师的登录界面来一一告诉大家怎么畅快的玩起来。 下面来看看,我们将要实现的界面。 ...

李元静 1万+

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Design Support Library —— TextInputLayout

此次Google I/O 2015为开发者提供了一个名为Android Design Support Library的新库,带来了一些重要的Material Design风格的控件。本文主要介绍TextInputLayout控件。TextInputLayout是一个用于在EditText上显示floating效果的辅助控件,其效果与扔物线的MaterialEditText效果相似。即当EditTex

nightyk的专栏 3916

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

View系列: Material Design 系列: TextInputLayout 使用详解

https://blog.youkuaiyun.com/jaynm/article/details/106918713https://blog.youkuaiyun.com/jaynm/article/details/106918713前言 TextInputLayout 主要是作为 EditText 的容器,从而为 EditText 生成一个浮动的 Label,当用户点击 EditText 的时候,EditText 中的 hint 字符串会自动移到 EditText 的左上角。 TextInputLayout 的简单使用,是

C++ JAVA的专栏 1058

Android Material Design 之 TextInputLayout

TextInputLayout 是 Material Design 风格的输入框。效果如下。EditText 在获取焦点的时候,hint 会作为 title 移动到上面去,这样用户输入的过程中也能看到 hint。TextInputLayout 自带 Error Message,当发生错误的时候,消息显示到线的下方,并且线的颜色也会变掉。EditText 只要用 TextInputLayout 包裹一

teletian的专栏 1158

Android开发——Material Design系列之TextInputLayout

0. 前言 TextInputLayout 继承于 LinearLayout,专门用来包裹 EditText或EditText的子类,当用户进行输入动作的时候我们设置的android:hint 属性值会作为提示以动画的形式运动到输入框左上角,错误信息也显示在输入框的下方。有些输入验证是在后台做得,产生错误后再反馈给前台,这样非常耗时而且用户体验差。TextInputLayout则完美的解决了这个...

关于Android开发的一些技术点总结 ╮( ̄▽ ̄”)╭ 2427

Material Design (二),TextInputLayout的使用

前言 一般登录注册界面都需要EditText这个控件来让用户输入信息,同时我们一般会设置一个标签(使用TextView)和EditText的hint属性来提示用户输入的内容,而设计库中高级组件TextInputLayout则专门为EditText设计的,即通过使用TextInputLayout包裹EditText实现当用户开始输入时hint属性值将显示在EditText上面作为一个提示标签,这个过程

宿罪的博客 3171
上一篇: Design库-SnackBar属性详解
下一篇: 仿京东商品详情界面Tab指示器
Client_Block
博客等级 码龄11年 33粉丝 61原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值