6.0新控件:TextInputLayout_TextInputEditText的使用

TextInputLayout与TextInputEditText详解 导读:Android 从5.0版本开始,新增了Android Materia Design库,让开发者高效的实现炫酷的UI效果本篇文章将介绍Materia Design库的TextInputLayout与TextInputEditText组件TextInputLayout TextInputLayout用于辅助EditText,当用户输入文本时,在EditText上方显示浮动标签,这个标签的内容就是 阅读详情

基础:

TextInputLayout

java.lang.Object
   ↳    android.view.View
       ↳    android.view.ViewGroup
           ↳    android.widget.LinearLayout
               ↳    android.support.design.widget.TextInputLayout

TextInputEditText

java.lang.Object
   ↳    android.view.View
       ↳    android.widget.TextView
           ↳    android.widget.EditText
               ↳    android.support.v7.widget.AppCompatEditText
                   ↳    android.support.design.widget.TextInputEditText

TextInputLayout就是一个LinearLayout,TextInputEditText就是一个EditText


AS版本在2.3以上不用导依赖,我用的是AS3.0不需要导入Design的依赖


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

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

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

设置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>


带计数的文本框

像手机号码,身份证号码等都有位数都是有固定值,而且还比较长,这个时候就应该把用户输入的字符长度统计出来,给予友好的提示,实现这个功能就可以利用
TextInputLayout下面两个属性

 app:counterEnabled="true"//开启输入计数功能
  app:counterMaxLength="11"//设置输入字符的最大值

这里写图片描述

!注意: 使用者两个属性要在根标签加上xmlns:app="http://schemas.android.com/apk/res-auto"命名空间,否则找不到两个属性

2密码输入框中的火眼晶晶,密码快快显出原形

这里写图片描述
密码中加密和可见,利用TextInputLayout控件和容易实现,只需要设置下面的属性即可

app:passwordToggleEnabled="true"
  • 效果就会像上面密码输入框那样

如果感觉只带的小眼睛不好看,可以自定义那个图案,使用

app:passwordToggleDrawable="@drawable/password_visible_invisible"
  • 设置图片,应为,密码可见和加密是两种状态,点击图片应该有相应的变化,使用selector 可以实现:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/eye_open"  android:state_checked="true"/>
    <item android:drawable="@drawable/eye_close" android:state_checked="false"/>
</selector>

3.错误提示的设置

家有家法,国有国法,简单注册也应该有有所限制,不能让用户随意输入一些信息。当用户输入不合法的时候应该给予提示:

这里写图片描述

使用TextInputLayout的setError( CharSequence error)方法设置当用户输入不合法时会在输入框下面给予提示信息。EditText也有setError( CharSequence error)方法,
但与TextInputLayout显示效果不一样。
这里写图片描述
是一种悬浮效果,挺好的,但是密码输入框就有点坑了

这里写图片描述
密码输入框的小眼睛和错误提示位置冲突了,效果就好了。

4.EditText中的imeOptions属性的使用,设置软键盘回车键动作

该属性值常用的有actiondone(完成)、actionNext(下一项,)、actionSearch(搜索)、actionSend(发送)

这里写图片描述
图片中最后一个实现关键代码现如下

                android:imeActionLabel="注册"  //设置显示的内容
                android:imeOptions="actionUnspecified" //不指定类型
                android:inputType="textPassword" 

使用imeOptions属性需要设置android:inputType属性,否则没有效果

给回车键绑定事件,使用通setOnEditorActionListener方法设置相关监听事件

TextInputLayout  repeatPassword = (TextInputLayout) findViewById(R.id.repeat_password);

 repeatPassword.getEditText().setOnEditorActionListener(new TextView.OnEditorActionListener() {
            @Override
            public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
                if(actionId == EditorInfo.IME_NULL){
                    register();//进行注册操作
                    return  true;
                }
                return false;
            }
        });

Android开发:解决TextInputEditText的提示文本问题 在使用和时,如果需要动态设置文本并隐藏提示文本,可以通过设置为false来实现。记得在设置文本后立即调用这个方法,以确保提示文本不会出现在输入框中。这个技巧在开发过程中非常实用,可以帮助开发者更好地管理用户界面的显示效果。 阅读详情

相关推荐

Material Design输入组件实践:TextInputLayout与TextInputEditText

本文还有配套的精品资源,点击获取 简介:介绍Android中 TextInputLayout 和 TextInputEditText 组件,用于创建具有高级用户交互特性的表单。详细说明了组件的样式功能,包括浮动标签、错误提示、助手文本、前后缀文本及密码可见性切换。通过实例代码展示了如何实现这些功能,并强调了这些组件对于增强表单体验的重要性。 ...

weixin_30600615的博客 1667

TextInputLayout只看这一篇就够了

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

柳的博客 8897

【ZZULIOJ】郑州轻工业大学oj题解整合

写在前面 关于ZZULIOJ题解 学习编程,想要巩固无非就是刷题或者做项目,然后因为我大一开始是刷郑轻的题目,就想着自己整合一下自己写的题目。既是复习也是笔记吧。 题解(内有题目描述) 1000 整数a+b 1001 植树问题 1002 简单多项式求值 1003 两个整数的四则运算 1004 三位数的数位分离 1005 整数幂 1006 求等差数列的和 1007 鸡兔同笼 1008 美元和人民币 1009 求平均分 1010 求圆的周长和面积 1011 圆柱体表面积 1012 求绝对值 1013 求两点间

蒟蒻乱写的博客 29万+

Android Material Design 系列之 TextInputLayout 使用详解

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

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

RFSoC应用XCZU47DR八发八收FPGA设计方案

本文介绍了基于Xilinx XCZU47DR RFSoC芯片的八发八收FPGA设计方案。该方案采用集成射频数据转换器的SoC架构,支持8路14bit ADC(5GSPS)和8路14bit DAC(9.85GSPS),可直接处理5GHz以下射频信号。硬件设计包含高性能输入缓冲器、QMC校正和复杂混频器,适用于5G/6G通信、雷达、卫星通信等领域。文章详细阐述了ADC/DAC子系统参数,包括通道配置、采样率、带宽等特性,并提供了FPGA顶层模块的硬件接口设计,展示了多通道数据收发处理能力。该方案无需外置混频器,

toonyhe的博客 1782

S7-1200五轴伺服系统PLC控制方案与调试技巧

工业自动化领域中,多轴伺服控制是实现精密加工的核心技术。基于PROFINET实时通信协议和PLCopen运动控制标准,现代PLC(如西门子S7-1200)能够实现多轴高精度同步控制。其技术原理是通过等时同步模式确保各轴运动的时序一致性,结合PID调节和电子齿轮比实现位置闭环。这种方案在数控机床、3D打印等场景具有重要应用价值。本文以五轴联动系统为例,详细解析了S7-1200与V90伺服驱动器的硬件组态方案,包括PROFINET环网配置和IRT同步设置。在软件层面,重点介绍了基于TIA Portal的工艺对象

weixin_34332905的博客 414

Android 常用且比较好看的EditText(二)—— TextInputEditText

文章目录Android EditText样例图一xml图二xml错误提示样式一错误提示样式二错误信息样式关键点总结 Android EditText 之前讲了一个带动画的EditText 这一篇来讲一下 对于我个人也比较常用的一个EditText —— Material Design 的 TextInputEditText 网上也有很多文章关于这个TextInputEditText 很多属性也都归纳过 这里我就简单讲述一下 我使用的 仅为个人自己所学习和使用的 首先 TextInputEditText 要和

https://github.com/W4ited 9094

农作物生长模型:数学建模与实战案例

在本篇博客中,我们介绍了农作物生长模型的基本原理,并结合Matlab代码和实战案例,演示了如何应用数学建模技术进行农作物生长模型的研究与应用。农作物生长模型在农业领域具有重要意义,希望本篇博客能帮助读者更好地理解农作物生长模型的原理和应用,并在实际农业生产中取得更好的效果。

YOLO 2733

TextInputLayout的使用

Google在2015的IO大会上,给我们带来了更加详细的 Material Design 设计规范,同时,也给我们带来了全新的 Android Design Support Library,Android Design Support Library 的兼容性更广,直接可以向下兼容到Android 2.2,我准备从最简单的控件开始,逐渐延伸,把新控件都给熟悉一遍。 先从看起来最简单的

zhou199296的博客 1179

2020年信奥赛C++提高组csp-s初赛真题及答案解析(阅读程序第3题)

2020年信奥赛C++提高组csp-s初赛真题及答案解析(阅读程序第3题)

王老师青少年编程 989

手把手教你用 Cursor 写一个完整的 Web 应用(含前后端 + 部署)

本文介绍如何利用Cursor AI工具从零开发一个完整的全栈待办事项Web应用。文章针对开发者常见痛点——无法独立完成项目闭环,提供了一套AI驱动的全栈开发范式。通过Vue3+Node.js+MySQL技术栈,全程由Cursor自动生成项目架构、前后端代码、数据库设计,并解决联调、部署等关键问题。重点展示了如何用AI完成:项目规划与架构设计、后端接口开发、前端页面实现、跨域联调、打包优化及云端部署全流程。该方法将传统需要3-5天的开发工作压缩至1小时内完成,产出规范可上线的项目,特别适合想突破"碎

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 633

Android Design新控件之TextInputLayout 文本输入布局与自定义颜色简介

Android 从5.0版本开始,新增了Android Materia Design库,让开发者高效的实现炫酷的UI效果 推荐: TextInputLayout(文本输入布局) TabLaout(选项卡布局) Snackbar FloatingActionButton(浮动按钮) NavigationView(导航视图) AppBarLayout(程序栏布局) CoordinatorLay...

shenggaofei的博客 3827

PyTorch实战(30)——使用TorchScript和ONNX导出通用PyTorch模型

在本节中,我们将深入探讨使用 TorchScript 导出 PyTorch 模型。通过序列化,TorchScript 使模型与 Python 生态系统独立,从而使得模型可以在其他环境中加载,例如基于 C++ 的环境。我们还跨越 Torch 框架与 Python 生态的边界,研究机器学习通用开放格式 ONNX,该技术能帮助我们将 PyTorch 训练的模型导出至非 PyTorch 甚至非 Python 环境。

盼小辉丶的博客 3484

Android Design Support Library--TextInputLayout的使用

本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 引言Google在2015的IO大会上,给我们带来了更加详细的Material Design设计规范,同时,也给我们带来了全新的Android Design Support Library,Android Design Support Library的兼容性更广,直接可以向下兼容到Android 2.2,我准备从最简单的控件开始,逐

斩月的专栏 1万+

【YOLO11改进 - 注意力机制】SCSA通过结合空间注意力和通道注意力,提高各种下游视觉任务的性能。

【YOLO11改进 - 注意力机制】SCSA通过结合空间注意力和通道注意力,提高各种下游视觉任务的性能。

专注于图像领域,主要研究内容包括计算机视觉和深度学习,特别是在图像分类、目标检测和图像生成等方面有深入的研究和实践经验。 473

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

TextInputLayout,打造材料设计风格的文本输入框

原创 技术鸟 2016-11-28 16:21 Android Material Design 对 EditText 输入框的交互设计定义了一个规范,详细设计细节可以参考官网介绍:Components/Text fields (需要 翻墙 )。android.support.design 包中恰好提供了一个实现这些设计细节的新控件:TextInputLayout,本文就来细细

u011277123的博客 627

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Android开发笔记(一百三十八)文本输入布局TextInputLayout

文本输入布局TextInputLayoutTextInputLayout是MaterialDesign库中对编辑框EditText进行增强的一个控件。众所周知,EditText未输入字符时,我们可以给它显示默认的提示文字hint;可是一旦输入字符,这个hint提示就消失了,虽然没有提示也没有什么大碍,但有总比没有好呀。TextInputLayout便是用来解决提示文字的显示问题,它默认把提示文字显

aqi00的博客 4483

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

[AS2.2]Android 5.0新控件记录

5.0新控件解析笔记

xn的博客 440

android 新控件风格,Android中Material Design风格控件的应用(一)

TextInputLayout效果以后有空再放吧一、导入Support LibraryMaterial Design控件是Android Support Library中的一个重要的组件,要使用TextInputLayout控件,你需要导入两个Library。第一个是appcompat-v7,它确保material style可以向后兼容。第二个是Design Support Library。在你...

weixin_34404808的博客 253

Android TextInputLayout,打造 Material Design 风格的文本输入框

Android TextInputLayout,打造 Material Design 风格的文本输入框

贵公子丶笔记 544

强大的提示控件TextInputLayout使用以及源码分析

这里出现了一个mCollapsingTextHelper,通过它可以设置文字大小的加速动画,FAST_OUT_SLOW_IN_INTERPOLATOR,快出慢进的效果,还有设置位置的加速器setPositionInterpolator,setCollapsedTextGravity设置折叠文字的Gravity,看来这个mCollapsingTextHelper的作用还是很强大的,我们后面再看它的源码,先继续往下看。说明在源码中必定有添加这个提示的逻辑,这里我们后面在讨论,先继续往下看。

m0_56146626的博客 1467

TextInputLayout的基本使用

TextInputLayout属于EditText的一个浮动标签,属于Material Design 设计规范中的,效果可以看下面的动图 账号:只是普通EditText 密码:用TextInputLayout包裹的EditText 使用的话TextInputLayout包裹一个EditText就可以。当然TextInputLayout也只能包裹EditText: <android.support.design.widget.TextInputLayout android:id=.

qq_35698774的博客 3419

Android开发——Material Design系列之TextInputLayout

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

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

TextInputEditText用法

前言: Material Design推出了一种优秀的文本输入框形式——当用户点击空内容的文本输入框时,原本位于输入框内的提示语会经由一个动画浮动至输入框上方,文本颜色同时变成强调色,明确显示此时该组件获得焦点 为了让开发者更加方便地实现这种效果Google推出了TextInputLayout组件,里面放置一个EditText或者TextInputEditText,可以轻松实现

yhy123456q的博客 7723

揭秘 Android TextInputLayout:从源码深度剖析其使用原理

是 Android Design Support Library 中的一个布局组件,它继承自。其主要作用是包裹EditText或其子类,为输入框提供额外的视觉效果和交互功能。例如,当用户输入内容时,输入框的提示文本会以浮动标签的形式显示在输入框上方,这样既不影响用户输入,又能持续提供提示信息。通过对源码的深入分析,我们了解到它是一个功能强大且灵活的布局组件。它通过包裹EditText为输入框提供了浮动标签、错误提示、字符计数等实用功能。其实现原理涉及到视图的初始化、状态管理、动画效果、测量和布局等多个方面。

Android开发领域创作者 1033

Android Material Design之TextInputLayout、TextInputEditText解析

TextInputLayout一、简介TextInputLayout是一个新的布局,从继承树上看,它继承自LinearLayout,但是它并不支持android:orientation属性,因为TextInputLayout和ScrollView一样,只能在其中迁入唯一的控件。另外从TextInputLayout这个布局的名称可以猜出,这是一个专门针对文本输入动作而设计的布局。所以TextInput

七夜聖君的博客 1581
上一篇: 安卓5.0 6.0新特性简单总结
下一篇: shape详解
Android_Object
博客等级 码龄10年 1粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值