博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Material Design学习-----TextInputLayout
阅读量:5055 次
发布时间:2019-06-12

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

  TextInputLayout是为EditText提供了一种新的实现和交互方式。在传统的EditText中存在一个hint属性,是说在editext中没有内容时,默认的提示信息。当想edittext中输入信息的时候会自动消失。而在TextInputLayout中当想edittext中输入信息的时候,这些提示信息会通过动画的方式,移动到控件顶部继续存在,同时还会提示错误的信息,实现了一个更好的交互效果。实现的效果如下图:

  1、实现方式

   TextInputLayout和一般的layout一样,是一个容器,只要把想实现效果的edittext放在容器中就可以了,但是同时TextInputLayout和scrollview一样,其中只能放一个控件作为其子控件。实现代码如下:

1 
2
6
10
15
16
20
25 26
30

  从上面可以看出,要想让多个edittext实现效果,就要使用多个TextInputLayout进行嵌套。

  要想让结果实现,光是在xml布局文件中实现还是不够的,同时还需要在Activity中实现相应的设置:

1 text1= (TextInputLayout) findViewById(R.id.username_layout);2         text2= (TextInputLayout) findViewById(R.id.pwd_layout);3         btn= (Button) findViewById(R.id.btn_b);4         text1.setHint("用户名");5         text2.setHint("密码");

  同时要是想要实现错误提示信息的话,就要设置相应的setErrorEnabled方法和setErrror方法:

1 text1.setErrorEnabled(true); 2 text1.setError("密码错误");

  2、自定义样式  

  你可能还想做最后一件事,改变TextInputLayout控件的颜色。默认AppCompact会把它设置成绿色的,但是很有可能这个颜色会和你的颜色主题(color palette)冲突。

 

谷歌把Design Support Library写的很好。每一个控件的颜色都是直接通过主题颜色绘制的,在 style.xml 中指定。打开它添加colorAccent 到主题以改变表单的颜色。

1 

 

转载于:https://www.cnblogs.com/YaoJianXun/p/5437893.html

你可能感兴趣的文章
Android入门之文件系统操作(二)文件操作相关指令
查看>>
Android实现 ScrollView + ListView无滚动条滚动
查看>>
Swift 中的指针使用
查看>>
Swift - 使用闭包筛选过滤数据元素
查看>>
alue of type java.lang.String cannot be converted to JSONObject
查看>>
搜索引擎选择: Elasticsearch与Solr
查看>>
JAVA设计模式之简单工厂模式与工厂方法模式
查看>>
③面向对象程序设计——封装
查看>>
【19】AngularJS 应用
查看>>
Spring
查看>>
Linux 系统的/var目录
查看>>
Redis学习---Redis操作之其他操作
查看>>
WebService中的DataSet序列化使用
查看>>
BZOJ 1200 木梳
查看>>
【Linux】【C语言】菜鸟学习日志(一) 一步一步学习在Linxu下测试程序的运行时间...
查看>>
SpringBoot使用其他的Servlet容器
查看>>
关于cookie存取中文乱码问题
查看>>
mysql 多表管理修改
查看>>
group by order by
查看>>
Oracle学习之简单查询
查看>>