博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
TextInputLayout 和 TextInputEditText 的简单介绍以及使用
阅读量:6509 次
发布时间:2019-06-24

本文共 2207 字,大约阅读时间需要 7 分钟。

TextInputLayout 和 TextInputEditText 是属于 design 包里面的控件

呐,就是这个:compile 'com.android.support:design:26.0.0-alpha1'

这两者要结合使用,其实只用 TextInputLayout ,然后 TextInputEditText 用 EditText 替换好像也可以。

下面来看一个示例代码咯

布局文件如下:

 Activity的代码如下

private TextInputLayout userNameLayout;    private TextInputEditText userName;    private TextInputLayout passwdLayout;    private TextInputEditText passwd;    userNameLayout = (TextInputLayout) findViewById(R.id.userNameLayout);    userName = (TextInputEditText) findViewById(R.id.userName);    userNameLayout.setHint("请输入账号");    userName.addTextChangedListener(new TextWatcher() {        @Override        public void beforeTextChanged(CharSequence s, int start, int count, int after) {        }        @Override        public void onTextChanged(CharSequence s, int start, int before, int count) {        }        @Override        public void afterTextChanged(Editable s) {            if (s.length() < 3) {                userNameLayout.setErrorEnabled(true);                userNameLayout.setError("用户名不能小于3位");            } else {                userNameLayout.setErrorEnabled(false);            }        }    });    passwdLayout = (TextInputLayout) findViewById(R.id.passwdLayout);    passwdLayout.setHint("请输入密码");    passwd = (TextInputEditText) findViewById(R.id.passwd);    passwd.addTextChangedListener(new TextWatcher() {        @Override        public void beforeTextChanged(CharSequence s, int start, int count, int after) {        }        @Override        public void onTextChanged(CharSequence s, int start, int before, int count) {        }        @Override        public void afterTextChanged(Editable s) {            if (s.length() < 3) {                passwdLayout.setErrorEnabled(true);                passwdLayout.setError("密密不222能小于3位");            } else {                passwdLayout.setErrorEnabled(false);            }        }    });    }

其实也没什么,

主要的代码也就几行

userNameLayout.setHint("请输入账号");

这行代码,就是设置提示信息

 

passwdLayout.setErrorEnabled(true);

这行表示,启用错误提示,相应的,传入false就表示关闭错误提示。

 

passwdLayout.setError("密密不222能小于3位");

这个表示,具体的错误提示

 

转载于:https://www.cnblogs.com/fwling/p/7197545.html

你可能感兴趣的文章
php des 加密解密实例
查看>>
【Mac】Mac键盘实现Home, End, Page UP, Page DOWN
查看>>
实战使用Axure设计App,使用WebStorm开发(1) – 用Axure描述需求
查看>>
安德鲁斯----多媒体编程
查看>>
[zz]在linux中出现there are stopped jobs 的解决方法
查看>>
Delphi下实现全屏快速找图找色 一、数据提取
查看>>
查询表字段信息
查看>>
关于机器学习的最佳科普文章:《从机器学习谈起》
查看>>
dxFlowChart运行时调出编辑器
查看>>
NET Framework 3.0 (WinFX) RTM发布
查看>>
图片拼接器
查看>>
C++ TinyXml操作(含源码下载)
查看>>
中断小笔记
查看>>
C#委托、事件、消息(入门级)
查看>>
FreeBinary 格式说明
查看>>
使用Spring Cloud和Docker构建微服务
查看>>
NB-IoT的成功商用不是一蹴而就
查看>>
九州云实战人员为您揭秘成功部署OpenStack几大要点
查看>>
1.电子商务支付方式有哪些 2.比较不同支付方式的优势劣势
查看>>
医疗卫生系统被爆漏洞,7亿公民信息泄露……
查看>>