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

导入: 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. css负边距之详解

    自从1998年CSS2作为推荐以来,表格的使用渐渐退去,成为历史.正因为此,从那以后CSS布局成为了优雅代码的代名词. 对于所有设计师使用过的CSS概念,负边距作为最少讨论到的定位方式要记上一功.这就 ...

  2. Lisp永远成不了编程主流语言

        Lisp语言是第二古老的高级编程语言.许多的黑客和开发者对Lisp推崇备至,Paul Graham甚至说"编程语言现在的发展,不过刚刚赶上1958年Lisp语言的水平". ...

  3. iOS10 权限崩溃问题

    iOS10 权限崩溃问题 原文: http://blog.csdn.net/runleelrg/article/details/51673025 今天 手机升级了 iOS10 Beta,然后用正在开发 ...

  4. bzoj violet系列 (2708~2725)

    cbh大爷说:写博客不能弃坑. orz cbh 那我就来更新博客了. violet这个系列的题好神啊……出题人好劲啊…… ……怎么最近都在理性愉悦啊…… 另外bzoj400题纪念~ 2708: [Vi ...

  5. Gridview中运用CommandField 删除控件时注意点

    我在gridview1 <编辑列>里面添加了一个<CommandField 删除>的控件,之后在gridview1的事件<RowDeleting>事件下 写了一段删 ...

  6. Activity系列讲解---三大基本状态与七大生命周期函数

    简介:四大组件之一,在应用中一个Activity可以用来表示一个界面,可以理解为用户可视化界面,一个android应用必须通过Activity来运行和启动. 1.三大基本状态与七大生命周期函数 2.代 ...

  7. Okhttp3的简单使用

    1.get请求: /** * *okhttp get请求 * */ public class MainActivity extends AppCompatActivity { private stat ...

  8. Python全栈开发【re正则模块】

    re正则模块 本节内容: 正则介绍 元字符及元字符集 元字符转义符 re模块下的常用方法 正则介绍(re) 正则表达式(或 RE)是一种小型的.高度专业化的编程语言. 在Python中,它内嵌在Pyt ...

  9. Thread Safety线程安全

    Thread Safe(线程安全)和None Thread Safe(NTS,非线程安全)之分 如果disabled就选择nts(php_stomp-1.0.9-5.5-nts-vc11-x86.zi ...

  10. mysql 基础

    (1)插入多条数据 INSERT INTO users(name, age) VALUES('姚明', 25), ('比尔.盖茨', 50), ('火星人', 600); (2)将查询出来的字段插入其 ...