为了方便自己以后的查找,于是就写了这个博客,废话就不多说,开始干:

导入: compile ‘com.android.support:appcompat-v7:24.2.1’ compile ‘com.android.support:design:24.2.1’ (最后的版本号最好和上面的V7包的版本号改成一样的,以免报一些不必要的错误)

Design Support Library中有包含8个控件:

1.TextInputLayout

正如上面所描述的,他是一个强大的带提示的MD风格的EditText

布局:

android.support.design.widget.TextInputLayout         android:layout_width=”match_parent” android:layout_height=”wrap_content” app:counterMaxLength=”10” app:counterEnabled=”true” app:errorEnabled=”false” app:hintAnimationEnabled=”true” android:id=”@+id/til_acc”>

    EditText
android:layout_width="match_parent"
android:layout_height="100px"
android:hint="请输入账号"
android:id="@+id/et_acc"/>
/android.support.design.widget.TextInputLayout>

TextInputLayout的带的属性: 1. counterMaxLength  计数器  显示在右下角 2. counterEnabled  是否显示计数器 (true  、false两个值) 3. counterOverflowTextAppearance 当输入的长度大于计算器的大小,则显示最大限度的字体格式 4. hintAnimationEnabled 是否启用hint(提示字体)动画效果 5. errorEnabled 是否显示错误信息 6. errorTextAppearance 错误信息的字体的格式

MainActivity中的代码:

public class MainActivity extends AppCompatActivity {

@InjectView(R.id.btn)
Button btn;www.90168.org
@InjectView(R.id.activity_main)
LinearLayout activityMain;
@InjectView(R.id.et_acc)
EditText etAcc;
@InjectView(R.id.et_pws)
EditText etPws;
@InjectView(R.id.til_acc)
TextInputLayout tilAcc; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.inject(this);
init();
} private void init() {
//EditView 监听
etAcc.addTextChangedListener(new TextWatcher() {
//输入前的监听
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) { }
//输入中的监听
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
//判断输入中的字符串是否大于 我们计数器设置的大小
if (charSequence.length() > 5){// 大于
//setErrorEnabled 设置true 并且设置显示错误的信息
tilAcc.setErrorEnabled(true);
tilAcc.setError("sssssss");
}else{
//小于 则把setErrorEnabled设置成false
tilAcc.setErrorEnabled(false);
}
}
//输入后的监听
@Override
public void afterTextChanged(Editable editable) { }
});
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(final View view) {
final String acc = etAcc.getText().toString();
final String pws = etPws.getText().toString();
if (!TextUtils.isEmpty(acc) && !TextUtils.isEmpty(pws)) {
Snackbar.make(view, "登录成功", Snackbar.LENGTH_SHORT).show();
}
}
});
}

}

Material Design兼容包的使用的更多相关文章

  1. Android Material Design 兼容库的使用

    Android Material Design 兼容库的使用 mecury 前言:近来学习了Android Material Design 兼容库,为了把这个弄懂,才有了这篇博客,这里先推荐两篇博客: ...

  2. Eclipse导入 appcompat,design兼容包

    从Android studio推出1.0正式版后,就一直在as上开发项目,但是最近要测试一个项目,是eclipse结构,导入as后,是各种报错信息,决定改成eclipse. 其中项目中用到了ppcom ...

  3. 自定义 Material Design风格的提示框

    关闭 自定义 Material Design风格的提示框 2016-04-24 10:55 152人阅读 评论(0) 收藏 举报 版权声明:本文为博主原创文章,未经博主允许不得转载. 其实在14年谷歌 ...

  4. 【Android】AppCompat V21:将 Materia Design 兼容到5.0之前的设备

    AppCompat V21:将 Materia Design 兼容到于5.0之前的设备 本篇文章翻译自Chris Banes(就职于Google,是Android-PullToRefresh,Phot ...

  5. Android5.0新特性——Material Design简介

    Material Design Material Design简介 Material Design是谷歌新的设计语言,谷歌希望寄由此来统一各种平台上的用户体验,Material Design的特点是干 ...

  6. 走着官方的教程入门Material Design(一)

    又到期末了,学习下Google的材料设计.写下此文记录自己的同时,分享给需要的同学,若发现文中有什么问题和不对,欢迎指出 使用 Material Design 创建新应用 首先需要使用材料主题 如果是 ...

  7. 聊聊 Material Design 里,阴影的那些事儿!

    当你的设计师要求你在某个 View 上增加阴影效果,那你只需要认真阅读本文,阴影的问题就不再是问题. 一.前言 设计师的世界,与常人不同,有时候想要扁平化的风格,有时候又想要拟物化的风格.而在 Mat ...

  8. 仿知乎app登录界面(Material Design设计框架拿来就用的TexnInputLayout)

    在我脑子里还没有Material Design这种概念,就我个人而言,PC端应用扁平化设计必须成为首选,手当其冲的两款即时通讯旺旺和QQ早就完成UI扁平化的更新,然而客户端扁平化的设计本身就存在天生的 ...

  9. 使用Material Design 应用主题

    自从去年Google推出Material Design这款设计语言后,新的设计规范越来越受开发者们的喜爱,这篇文章包括后续文章就是慢慢的介绍在App中使用Material Design界面主题.动画. ...

随机推荐

  1. Linux软件包管理

    Linux软件包管理 Linux软件包管理主要有2类:是二进制包管理.源码包管理 二进制包管理 主要有RPM和YUM两种 RPM包管理 安装 --ivh:-v ,-vv,-vvv显示的安装信息依次详细 ...

  2. DOM0编程与基础方法

    ## 这里记录一下DOM编程的基础与方法----### DOM 的O:对象 objectO表示Object,对象的意思.JavaScript中对象可以分为三种类型1. 用户定义对象(user-defi ...

  3. js replaceAll

    js 全部替换: /** * 替换(所有) * @param str 要处理的字符串 * @param beRepStr 被替换的字符串 * @param toRepStr 最终生成的字符串 * @r ...

  4. markdown编辑器sublime text3

    安装包管理Package Control ctrl+`或者点击查看-->显示面板,复制下面的代码到面板里. import urllib.request,os; pf = 'Package Con ...

  5. java 保留字符串数字的位数,不够前面补0

    @Test public void test() { this.printToConsole(autoGenericCode("10011")); this.printToCons ...

  6. 让“是男人就下到100层”在Android平台上跑起来

    原工程:https://github.com/jeekun/DownFloors 移植后的代码:HelloCpp.zip 移植后的APK:HelloCpp.apk 说明:(cocos2d-x版本是“ ...

  7. jeecms3.0.4版本 详解请求如何找到首页(转)

    第一步:发送http://localhost:8080/emisstrade/ 请求 第二步:首先进入配置文件web.xml, <context-param> <param-name ...

  8. iOS企业分发证书制作

    自签名证书制作流程 打开终端,输入 openssl genrsa - ,生成名称为ca的秘钥 注:openssl生成的文件皆放在用户文档下(finder菜单栏'前往' - 电脑 -Macintosh ...

  9. sh4.case语句

    case ... esac 与其他语言中的 switch ... case 语句类似,是一种多分枝选择结构.case 语句匹配一个值或一个模式,如果匹配成功,执行相匹配的命令.case语句格式如下: ...

  10. ionic常用的命令

    Ionic常用命令行解释   原文链接 安装ionic npm install -g ionic 更新www/lib/ionic 目录的文件,如有项目中有bower,此命令会运行bower updat ...