首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

TextInputLayout-Android M新控件

hint,使用setHint方法: usernameWrapper.setHint("Username"); passwordWrapper.setHint("Password"); 至此,你的登陆界面现在很好的遵循了...需要的方法是setErrorEnabled和setErrorsetError设置一个红色的错误消息,显示在EditText的下面。如果传入的参数为null,错误消息将清空。...在setError设置错误消息之前开启这个功能意味着在显示错误的时候布局不会变化。你可以把这两个方法结合起来验证下我所说的。...现在我们定义了什么是错误的什么是正确的,也知道了如何获取EditText中的数据以及显示可能的错误,onClick方法的实现就很简单了。...现在,如果你的应用有类似数据输入的地方,你终于可以完全遵循material design 了。

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

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

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

1.2K70

Android使用TextInputLayout创建登陆页面

现在如果你运行应用,什么也不会发生。...你的登陆界面现在很好的遵循了material设计规范。运行项目查看你的登陆界面。 ? 2. 处理错误 TextInputLayout的另一个特色是它可以处理错误。...需要的方法是setErrorEnabled和setErrorsetError设置一个红色的错误消息,显示在EditText的下面。如果传入的参数为null,错误消息将清空。...现在我们定义了什么是错误的什么是正确的,也知道了如何获取EditText中的数据以及显示可能的错误,onClick方法的实现就很简单了。...现在,如果你的应用有类似数据输入的地方,你终于可以完全遵循material design 了。 以上就是本文的全部内容,希望对大家的学习有所帮助。

1.6K10

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

TextInputLayout是22.2.0新添加的控件, 要和EditText(或EditText的子类)结合使用,并且只能包含一个EditText(或EditText的子类)。...这时候TextInputLayout则是显示错误,TextInputLayout是LinearLayout的子类,用于辅助显示提示信息。...现在仅仅是过度效果,还没有加提示信息,用法很简单,但注意一点TextInputLayout只能包含一个TextInputEditText,如果写用户名和密码那就写两个TextInputLayout,哦,...> 这里要注意的是Id是加在 TextInputLayout上,在Activity中获取也是获取的layout,那么怎么获取edittext输入的数据呢,有方法的。...Override public void afterTextChanged(Editable s) { if(s.length()<4){ viewById.setError

1.6K100

每天一道leetcode763_划分字母区间

我们要把这个字符串划分为尽可能多的片段,同一个字母只会出现在其中的一个片段。 返回一个表示每个字符串片段的长度的列表。 注意: S的长度在[1, 500]之间。...1.2 输入与输出 输入: string S:带划分的字符串 S 输出: vector:划分为尽可能多的片段, 每个字符串片段的长度的列表 1.3 样例 1.3.1 样例1 输入: S...每个字母最多出现在一个片段中。像 "ababcbacadefegde", "hijhklij" 的划分是错误的,因为划分的片段数较少。..., dict['a'] = 0, border = [0]; S[1] = 'b', border = [0], dict['b'] = -1, 'b'未出现过, dict['a'] = 1, border...border.empty() && dict[S[i] - 'a'] <= border.back()) border.pop_back(); } //如果未出现记录位置

79020

你应该会喜欢的5个自定义 Hook

Hooks 可以将组件的逻辑组织成可重用的独立单元。 Hooks 非常适合 React 组件模型和构建应用程序的新方法。...现在,来看看我在开发中最常用的 5 个自定义钩子,并头开始重新创建它们,这样你就能够真正理解它们的工作方式,并确切地了解如何使用它们来提高生产率和加快开发过程。....finally(() => setLoading(false)); }, [url, options]); return { error, data }; }; 现在,我们可以返回 loading...现在,很容易将事件侦听器添加到我们的组件(例如以下组件)中,以检测DOM元素外部的点击。 如果用户单击对话框组件,则在此处关闭对话框组件。...现在可以使用useLocalStorage hook 将组件中的任何数据持久化到localStorage中。 import { useLocalStorage } from '.

8.1K20

Hooks + TS 搭建一个任务管理系统(一)-- 登录注册页面

在不加泛型的情况下,它默认会是 null 类型,因此,在后面对它赋值 Error 对象类型时,会发生错误,因此在这里我们需要定义泛型 Error | null 这样 error 就能接收 Error 类型了~ 现在我们的状态设置好了... : } 当为 true 的时候展示注册页面,在这里我们将两个页面抽象出了两个组件... : } ..., register }} /> } 当我们这个方法返回了一个 provider 容器,这需要我们对 context 有一定的了解,我们需要使用 provider 来包裹数据共享的范围,只有在这个范围的元素才能使用这些数据...} 因此就相当于 setError(error) run(login(values)).catch(onError) } 就这样我们就能够成功的发送请求,并且返回结果,当有错误发生时,会触发 catch

1.3K11

React19 为我们带来了什么?

本文为稀土掘金技术社区首发签约文章,30天禁止转载,30天后未获授权禁止转载,侵权必究!...由于 ReactHook 的特殊性,hook 是无法出现在条件判断语句中。无论之后的条件中是否用得到这部分数据,我们都需要将 useContext 声明在整个组件最顶端。...; } export default function UpdateName() { const [name, setName] = useState(''); const [error, setError...Form: 元素现在支持将函数传递给 action 和 formAction 属性,将函数传递给 action 属性默认使用 Actions,同时在提交后自动重置表单。...更好的 Hydrate 错误提示 通常,在排查 SSR 应用下发生的 hydrate 错误是一件非常令开发同学头疼的事情: 在即将到来的新版 ReactDom 中优化了这一错误提示,现在 ReactDOM

11810

进阶渲染系列(一)——平坦和线框着色(导数和几何体)

只要位于三角形平面的任何三个点也可以,只要这些点也形成三角形即可。具体来说,只要两个向量不平行且大于零,就只需要它们位于三角形平面即可。 另外一种可能性是使用与渲染片段的世界位置相对应的点。...由于这些值表示片段世界位置之间的差异,因此就如同它们定义了三角形的两个边。我们实际上并不知道该三角形的确切形状,但是可以确保它位于原始三角形的平面,这很重要。...通常看起来像CG,但现在,它类似于HLSL。 1.3 逐三角形修改顶点法线 要找到三角形的法线向量,请先提取其三个顶点的世界位置。 ? 现在,执行标准化的叉积,每个三角形一次。 ?...(三角形的重心坐标) 向三角形添加重心坐标的一种方法是使用网格的顶点颜色存储它们。每个三角形的第一个顶点变为红色,第二个顶点变为绿色,第三个顶点变为蓝色。...现在可以配置着色器,但是属性尚未出现在我们的自定义着色器GUI中。

2.4K21

统计圆格点数目

题目 给你一个二维整数数组 circles ,其中 circles[i] = [xi, yi, ri] 表示网格上圆心为 (xi, yi) 且半径为 ri 的第 i 个圆,返回出现在 至少一个 圆的...圆周上的点 也被视为出现在的点。 示例 1: 输入:circles = [[2,2,1]] 输出:5 解释: 给定的圆如上图所示。...出现在的格点为 (1, 2)、(2, 1)、(2, 2)、(2, 3) 和 (3, 2),在图中用绿色标识。 像 (1, 1) 和 (1, 3) 这样用红色标识的点,并未出现在。...因此,出现在至少一个圆的格点数目是 5 。 示例 2: 输入:circles = [[2,2,2],[3,4,1]] 输出:16 解释: 给定的圆如上图所示。...共有 16 个格点出现在至少一个圆。 其中部分点的坐标是 (0, 2)、(2, 0)、(2, 4)、(3, 2) 和 (4, 4) 。

19950

10X Cell Ranger ATAC 算法概述

如果在此模型中,未出现在白名单中的观察到的条形码有90%的概率是真实的条形码,则将其更正为白名单条形码。...因此,并不是所有的切割点都在一个峰值区域。将彼此之间500bp以内的峰值合并到一起,生成一个位置排序的峰值BED文件。...因此,我们屏蔽了这些“低目标”条形码,使其不出现在Peak Calling之前库中观察到的所有条形码。...Peak-Barcode Matrix 与我们对单细胞基因表达解决方案和单细胞免疫分析解决方案的分析管道类似,我们生成一个计数矩阵,其中包含每个条形码每个峰区域片段末端(或切割位点)计数。...这为出现在更少条形码中的峰值计数提供了更大的权重。利用不定标、不定心的IRLBA对该归一化矩阵进行奇异值分解(SVD),生成低维空间的变换矩阵,以及表示各分量重要性的分量和奇异值。

2K10
领券