首页
学习
活动
专区
圈层
工具
发布

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

本篇博客带来一个具有强大提示的Material Design风格的控件TextInputLayout,使用这个控件可以非常方便的做出用户登录界面帐号密码输入框的效果,文章将会从以下TextInputLayout...,以下几个属性和方法需要声明一下: app:hintAnimationEnabled="true"可以开启动画,这个为true时,获得焦点的时候hint提示问题会动画地移动上去。...app:errorEnabled="true"时,开启错误提示 textInputLayout.setCounterEnabled(true);用于 开启计数 textInputLayout.setCounterMaxLength...之中,还记得前面我们提过TextInputLayout之中肯定应该会有一个添加错误提示信息的方法,在这里我们找到了,同时这里的代码也是值得我们进行学习的,只有当用户设置错误提示为真的时候,才会new一个...= mExpandedTextColor,给mTextPaint设置颜色,而这个颜色会通过blendColors方法将mCollapsedTextColor与mExpandedTextColor进行混合

2.5K50
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Material Design整理(一)——TextInputLayout

    github地址:https://github.com/shuaijia/MaterialDesignProject 添加依赖 TextInputLayout是在Material Design中的,如果我们要使用的话...,必须在gradle文件中配置 开始使用 TextInputLayout是一种新的继承自LinearLayout的布局,使用时其只能包含一个EditText或其子类控件(如AutoCompleteTextView...) 还可通过设置hint和error来显示浮动标签 注意:一个TextInputLayout中 有且只有 一个EditText!...举例 浮动标签 字数统计 错误提示 密码框右侧图标 虚拟键盘监听 有时候我们在用虚拟键盘的时候,在输入账号之后,我们点击下一项,焦点会跑到输入密码这一栏,当我们密码输入完成之后,点击确定按钮就能登录了...账号EditText中 密码EditText中 AutoCompleteTextView –自动提示输入框 继承自EditText,拥有EditText的所有属性,可以设置在输入时自动在输入框下方提示信息

    92830

    Android Material Design系列之主题样式介绍说明等

    今天这篇文章应该算是Material Design系列的补充篇,因为这篇文章本来应该放到前面讲的,因为讲的是主题嘛,对于一些状态和颜色的介绍,因为我们一新建一个项目时,系统自带了三个属性的颜色,现在就重点介绍这三个颜色属性的意义和作用...里面可以包含一个且只能有一个EditText,与传统的EditText不同,在输入时EditText的hint提示文字会滑到上方,在用户输入的同时提示用户当前要输入的是什么,同时还可以设置输入错误的提示信息...TextInputLayout常用的方法有如下: setHint():设置提示语。 getEditText():得到TextInputLayout中的EditView控件。...特别注意:TextInputLayout不能单独使用,必须包裹EditView组件,且只能一个,设置错误提示信息时一定要先setErrorEnabled(true);再设置setError()。...,可以在右侧显示出错误信息的小弹窗提示。

    1.7K70

    Material Design 进阶之二-使用TextInputLayout的登陆界面

    背景颜色是漂亮,平坦,浅灰色。 可以看到并不是非常美观,下载我们引入 TextInputLayout 稍作改动 ---- 使用 TextInputLayout 我们终于到达了本教程中最有趣的部分。...一个  TextInputLayout 小部件的行为与LinearLayout它完全一样,它只是一个包装器。TextInputLayout只接受一个子元素,类似于a  ScrollView。...它还将整个EditText小部件的颜色更改为红色。 setErrorEnabled 启用错误功能。这直接影响布局的大小,增加较低的填充以为错误标签腾出空间。...在设置错误消息之前启用此功能setError 意味着在显示错误时此布局不会更改大小。您应该结合这两种方法进行一些测试,以便您实际看到 我在说什么。...每个小部件的颜色都直接从style.xml文件中指定的主题颜色中绘制 。只需打开它并将colorAccent项目添加到活动主题即可更改表单的颜色方案。

    2.3K20

    Android之MaterialDesign应用技术2-仿支付宝上滑搜索框缓慢消失

    我们来分析一下效果图中都用到了什么,只看带颜色的有文字,和一个苹果背景图、还有一个悬浮按钮(吸附在CollapsingToolbarLayout的右下角)。...和背景图片,这就理所应当的把这两个空间写在CollapsingToolbarLayout中,因为上面协调者布局和appbar布局很简单,这里就不在写了,只贴出折叠布局代码(里面的注释有贴出后加的,用该代码时要注意语法...toast就关掉了,而且具体哪一行错误也没有标红,这就很尴尬了,那么今天这个控件也是一个输入框,但是外层加一个布局(TextInputLayout),就可以达到精确到一行提示具体错误。...这时候TextInputLayout则是显示错误,TextInputLayout是LinearLayout的子类,用于辅助显示提示信息。...现在仅仅是过度效果,还没有加提示信息,用法很简单,但注意一点TextInputLayout只能包含一个TextInputEditText,如果写用户名和密码那就写两个TextInputLayout,哦,

    2.4K100

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

    众所周知,EditText未输入字符时,我们可以给它显示默认的提示文字hint;可是一旦输入字符,这个hint提示就消失了,虽然没有提示也没有什么大碍,但有总比没有好呀。...TextInputLayout便是用来解决提示文字的显示问题,它默认把提示文字显示在编辑框的上方,这样在编辑框内输入文字,就不影响上方的提示文字了。...如果不用TextInputLayout,只使用EditText的话,横屏时的编辑框也会显示提示文字;可是一旦加了TextInputLayout,再看横屏的编辑框,发现编辑框内的提示文字不见了,这是因为TextInputLayout...最终的页面效果,便是横屏时能够在编辑框内显示提示文字了,具体页面截图如下所示: ?...所以呢,TextInputEditText与EditText的唯一区别就是,横屏时输入文字,是否会在编辑框内显示提示文字。

    3.2K30

    Android 低功耗蓝牙开发 (扫描过滤、自定义服务与特性)Kotlin版

    在添加功能的同时要考虑页面的合理和UI美化,不能说怎么简单怎么来,对自己要有要求,首先看看之前的扫描页面 首先页面上很空旷,那么我们增加功能可以使用隐藏的方式,例如加一个菜单,右上角加三个点,同时我们把底部浮动按钮的文字改一下...首先在colors.xml中增加一个颜色,是分割线的颜色 #EEEcolor> 然后通过drawable绘制一个顶部左右圆角的背景,在drawable下新建一个shape_white_top_radius...那么这个缓存值的设置就在弹窗中的swich的操作时改变。...代码如下图所示: 这里当拖动Seekbar时,改变TextView显示的内容,当拖动结束时保存进度值到缓存中,然后处理弹窗这个窗时的页面显示状态,我这里通过getInt(RSSI,100)去获取本地的缓存...,开发时要注意的细节很多。

    1.5K11

    Android 低功耗蓝牙开发 (扫描过滤、自定义服务与特性)Kotlin版

    在添加功能的同时要考虑页面的合理和UI美化,不能说怎么简单怎么来,对自己要有要求,首先看看之前的扫描页面 首先页面上很空旷,那么我们增加功能可以使用隐藏的方式,例如加一个菜单,右上角加三个点,同时我们把底部浮动按钮的文字改一下...首先在colors.xml中增加一个颜色,是分割线的颜色 #EEEcolor> 然后通过drawable绘制一个顶部左右圆角的背景,在drawable下新建一个shape_white_top_radius...那么这个缓存值的设置就在弹窗中的swich的操作时改变。...代码如下图所示: 这里当拖动Seekbar时,改变TextView显示的内容,当拖动结束时保存进度值到缓存中,然后处理弹窗这个窗时的页面显示状态,我这里通过getInt(RSSI,100)去获取本地的缓存...,开发时要注意的细节很多。

    1.9K30

    安卓软件开发:用Java和Kotlin构建MDC-UI框架实现LoginUI(基础)

    主要功能是错误反馈,代码业务逻辑实现错误提示,设置密码字段类型为“textPassword”: TextInputLayout...3.3 输入验证与用户体验 难点:实现用户输入验证时,需要保证错误提示的实时性和准确性。需要多考虑边缘情况,比如密码为空、快速输入时的延迟反应。...解决方法:通过 setOnKeyListener 实时监听用户输入,结合 MDC 的错误提示功能 (errorEnabled) 动态更新错误状态。...3.4 混合语言开发(Java、Kotlin) 难点:在项目中使用 Kotlin 和 Java 混合开发时,经常会遇到很多语言互操作性的问题,如 Kotlin 的空安全和Java传统空指针处理的冲突。...四、学习笔记 在开发过程中,积累了MDC框架技术的学习心得: 4.1.Material Components (MDC) 深入学习了MDC组件如TextInputLayout、MaterialButton

    2.9K101

    私人订制Android本地图片选择器

    初始化GalleryFinal配置 通过代码设置图片选择器的标题栏背景颜色,标题文本颜色,浮动按钮颜色; 通过监听事件,达到滚动时不加载图片,停下来时加载图片,实现优化; 初始化功能配置; 为防止代码分开查看导致逻辑的混乱...) // 设置浮动按钮常规颜色 .setFabPressedColor(colorFabPressed) // 设置浮动按钮点击颜色 .setCheckSelectedColor...初步效果图 修改源码 通过运行调试,发现框架中有些功能与需求不一致,因此我产生了修改源码的想法,总结需要更改的原功能点如下: 选择完达到上限数量的图片后,无法重新回到图片选择页面 ?...选择图片数量达到上限时无法进入图片选择页面 无图片选择时,无法点击浮动按钮进行返回 ?...返回打开本地图片选择器失败的提示信息。

    2.2K30

    Android MVVM框架搭建(一)ViewModel + LiveData + DataBinding

    ViewModel 类让数据可在发生屏幕旋转等配置更改后继续留存。DataBinding数据绑定库是一种支持库,借助该库,您可以使用声明性格式(而非程序化地)将布局中的界面组件绑定到应用中的数据源。...中的是泛型,你可以直接将一个对象放进去,当对象的内容有改动时,通知改变就可以了,现在这么写是为了方便理解。...最常用的就是当我Model中的数据改变时,改变页面上的值。这个是单向绑定。...还有一点就是当你使用了DataBinding之后就不需要去手动findViewById了,通过编译时技术会生成驼峰命名的对象,如上图的btnLogin、etAccount、etPwd。...上图的代码就是通过更改数据然后通知到xml做更改,初始化的修改时admin、123456。然后再通过输入框去修改。

    21.1K118

    Android-Design-Support-Library

    空灵的输入护法:TextInputLayout抛弃原先只要打字就会无迹可寻的输入提示(Hint)。...只需要用这个标签套住原始EditText,在你按下琴键的第一字母时,它的提示文案就像是一个轻柔飘逸的浮魂被挤出升华在组件边缘(Floatinglabels),永久指示输入维度;它更能无缝兼顾报错态展示接口...它不仅能挂靠在底盘浮动,提供时效内消除及清爽的单行反馈,更是可以植入交互性回传响应体绑定!模块化滑片:TabLayout终于将Tab与关联展示的联动权下放至了这个大管家身上。...联动一:躲避裁决最直观的震撼源自你把FAB及Snackbar同时喂给协调中心后,当吐司从地核深处升腾时,按键竟然如受惊般长出脚自己滑了上去避让空间!这一切在3.0之上都不再需动用任何人工代码位移校准。

    18800

    Android MVVM框架搭建(一)ViewModel + LiveData + DataBinding

    ViewModel 类让数据可在发生屏幕旋转等配置更改后继续留存。DataBinding数据绑定库是一种支持库,借助该库,您可以使用声明性格式(而非程序化地)将布局中的界面组件绑定到应用中的数据源。...中的是泛型,你可以直接将一个对象放进去,当对象的内容有改动时,通知改变就可以了,现在这么写是为了方便理解。...最常用的就是当我Model中的数据改变时,改变页面上的值。这个是单向绑定。...还有一点就是当你使用了DataBinding之后就不需要去手动findViewById了,通过编译时技术会生成驼峰命名的对象,如上图的btnLogin、etAccount、etPwd。...上图的代码就是通过更改数据然后通知到xml做更改,初始化的修改时admin、123456。然后再通过输入框去修改。

    3.6K32

    【CSS】课程网站头部制作 ③ ( 搜索栏表单测量 | 搜索栏表单代码编写 | 代码示例 )

    文章目录 一、搜索栏表单测量 1、左侧边界 2、文本输入框表单尺寸 3、文本输入框表单提示文本测量 二、搜索栏表单代码编写 1、HTML 标签结构 2、CSS 样式 3、输入表单效果 一、搜索栏表单测量..., 为 #00a4ff ; 3、文本输入框表单提示文本测量 使用 横排文字工具 , 点击表单中的 提示 文本 , 该文本大小 14 像素 , 颜色值 #bfbfbf ; 提示文本在 Input...表单中的 value 属性中设置 ; 提示文本左侧 距离边框 有 20 像素 , 这里可以设置 20 像素的内边距 ; 注意 : 设置内边距会拉长盒子 , 盒子的尺寸要减去内边距 ; 二、搜索栏表单代码编写...*/ color: #050505; /* 取消链接下方的横线 */ text-decoration: none; /* 调试时使用的背景 */ background: skyblue; }.../* 鼠标经过链接时的样式 */ .nav ul li a:hover { /* 鼠标经过导航栏链接 , 底部显示 2 像素的 #00a4ff 颜色实线 */ border-bottom: 2px

    2.9K30

    IntelliJ IDEA 2023.3 最新发布啦!盘点精彩亮点

    新的差异查看器可以更轻松地识别 AI 操作对代码所做的更改。完全支持 Java 21 功能图片IntelliJ IDEA 2023.3 提供对最新 Java 21 功能的全面支持。...默认情况下用颜色编码的编辑器选项卡图片为了增强您在编辑器中同时处理各种文件类型时的导航体验,我们为编辑器选项卡引入了默认颜色编码,反映了它们在项目工具窗口中的外观。...外观与行为 | 文件颜色。...例如,IDE 现在可以识别可能的字符串长度或估计字符串串联结果,从而在检测到冗余或可能有问题的代码时提示进行检查。...此更改简化了请求执行过程,无需手动检索令牌。OpenAPI规范的可视化编辑图片我们实现了可视化编辑功能,帮助您使用实时模板快速编写格式良好的 OpenAPI 规范。

    2.4K10
    领券