《Android进阶之光》--Material Design
No1:
组件:
1)底部工作条-Bottom Sheets
2)卡片-Cards
3)提示框-Dialogs
4)菜单-Menus
5)选择器
6)滑块控件-Sliders
7)进度和动态
8)Snackbar(底部可操作弹出框)与Toast
9)Tab
No2:
Snackbar
包含了文字信息和一个可选的操作按钮
Snackbar.make(activity_main,"标题",Snackbar.LENGTH_LONG)
.setAction("点击事件",new View.OnClickListener(){
@Override
public void onClick(View v){
Toast.makeText(
MainActivity.this,
"Toast",
Toast.LENGTH_LONG).show();
}
}).setDuration(Snackbar.LENGTH_LONG).show();
make第一个参数是View类型的参数,是Snackbar的父控件
No3:
TextInputLayout输入框容器(hint上浮,错误提示下方显示)
效果图

<android.support.design.widget.TextInputLayout
android:id="@+id/t1_username"
android:layout_width="match_parent"
android:layout_height="warp_content"
android:layout_centerInParent="true">
<EditText
android:id="@+id/et_username"
android:layout_width="match_parent"
android:layout_height="warp_content"
android:hint="username"
android:maxLength="25"
android:maxLines="1"/>
</android.support.design.widget.TextInputLayout>
private void login(){
String username = t1_username.getEditText().getText().toString();
String password = t1_password.getEditText().getText().toString();
if(!validateUserName(username)){
t1_username.setErrorEnabled(true);
t1_username.setError("请输入正确的邮箱地址");
}else if(!validatePassword(password)){
t1_password.setErrorEnabled(true);
t1_password.setError("密码数字过少");
}else{
t1_username.setErrorEnabled(false);
t1_password.setErrorEnabled(false);
Toast.makeText(getApplicationContext(),"登陆成功",Toast.LENGTH_SHORT).show();
}
}
No4:
自定义Bahavior
CoordinatorLayout中最经典的设计就是Bahavior,app:layout_behavior="@string/appbar_scrolling_view_behavior"的值对应着的是AppBarLayout.ScrollingViewBehavior。
自定义Behavior分两种方法:
1)定义的View监听CoordinatorLayout里的滑动状态。注意重写onStartNestedScroll()和onNestedPreScroll()方法
2)定义的View监听另一个View的状态变化。注意重写layoutDependsOn()和onDependentViewChanged()方法
然后在联动的布局中加入
app:layout_behavior="com.example.liuwangshu.mooncoordinatorlayout.FooterBehavior"即可
《Android进阶之光》--Material Design的更多相关文章
- [置顶]
曙光到来,我的新书《Android进阶之光》已出版
独立博客版本请点击这里 由来 2016年我开始建立了自己的知识体系,所有的文章都是围绕着这个体系来写,随着这个体系的慢慢成长,开始有很多出版社联系我写书,因为比较看好电子工业出版社,就顺理成章的开始了 ...
- 《Android进阶之光》--注解与依赖注入框架
No1: 标准注解: 1)@Override:覆写 2)@Deprecated:过时 3)@SuppressWarnings:取消警告 4)@SafeVarargs:申明使用了可变长度参数的方法 No ...
- 【Android】进入Material Design时代
由于本文引用了大量官方文档.图片资源,以及开源社区的Lib和相关图片资源,因此在转载的时候,务必注明来源,如果使用资源请注明资源的出处,尊重版权,尊重别人的劳动成果,谢谢! Material Desi ...
- [转]Android 5.0——Material Design详解(动画篇)
Material Design:Google推出的一个全新的设计语言,它的特点就是拟物扁平化. Material Design包含了很多内容,今天跟大家分享一下Material新增的动画: 在Andr ...
- 《Android进阶之光》--Android新特性
Android 5.0新特性 1)全新的Material Design设计风格 2)支持多种设备 3)全新的通知中心设计--按照优先级显示 4)支持64位ART虚拟机 5)多任务视窗Overview ...
- Android进阶之光-第1章-Android新特性-读书笔记
第 1 章 Android 新特性 1.1 Android 5.0 新特性 1.1.1 Android 5.0 主要新特性 1. 全新的 Material Design 新风格 Material De ...
- 《Android进阶之光》--Dagger2
No1: Project的build.gradle文件添加 buildscript{ dependencies{ ...classpath 'com.neenbedankt.gradle.plugin ...
- 《Android进阶之光》--事件总线
No1: EventBus三要素: 1)Event:事件 2)Subscriber:事件订阅者 3)Publisher:事件发布者 No2: EventBus的4种ThreadMode(线程模型): ...
- 《Android进阶之光》--ButterKnife
No1: 添加依赖库 Project的build.gradle文件添加 buildscript{ ... dependencies{ ... classpath 'com.neenbedankt.gr ...
随机推荐
- JavaScript之Array/数组小结
MDN-Array的属性/方法:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Arr ...
- ABAP知识点笔记
1,获取光标所在行 READ TABLE TD_ALV_DATA INTO TH_ALV_DATA INDEX RS_SELFIELD-TABINDEX. 2,获取alv可编辑单元格内容 DATA: ...
- 转:Delphi中使用比较少的一些语法
http://www.cnblogs.com/Murphieston/p/5577836.html 本文是为了加强记忆而写,这里写的大多数内容都是在编程的日常工作中使用频率不高的东西,但是又十分重要. ...
- pytorch官网上两个例程
caffe用起来太笨重了,最近转到pytorch,用起来实在不要太方便,上手也非常快,这里贴一下pytorch官网上的两个小例程,掌握一下它的用法: 例程一:利用nn 这个module构建网络,实现 ...
- Ubuntu 16.04配置国内高速apt-get更新源【转】
转自:https://blog.csdn.net/twang0x80/article/details/79782753 Ubuntu 16.04下载软件速度有点慢,因为默认的是从国外下载软件,那就更换 ...
- Hyper-V虚拟机上安装一个图形界面的Linux系统
这件事情呢,一直想干但又觉得太陌生和麻烦,无奈现在到了非装不可的时候,只好硬着头皮去装.在此之前,我不懂什么叫做虚拟机,linux也接触甚少.经过3天的折腾,终于装好了带有图形界面的linux(字符版 ...
- vue系列之MVVM框架
当数据发生变化时,ViewModel就会检测到,然后通知相应的View改变 当用户操作View时,ViewModel就会检测到,然后Model,修改相应的数据,最终实现双向绑定 适用场景:针对具有复杂 ...
- STM32应用实例五:与SHT1X温湿度传感器通讯
在这次项目开发中应用到了SHT1X温湿度传感器,该系列有SHT10.SHT11和SHT15,属于Sersirion温湿度传感器家族中的贴片封装系列.包括一个电容性聚合体测湿敏感元件.一个用能隙材料制成 ...
- Oracle查询表主键、外键
项目中用到的一些Sql(oracle下的)总结: 1.查找表的所有索引(包括索引名,类型,构成列) select t.*,i.index_type from user_ind_columns t,us ...
- spark简单总结—短小精悍
Spark是基于内存计算的大数据并行计算框架.因为其基于内存计算,较Hadoop中MapReduce计算框架具有更高的实时性,同时保证了高效容错性和可伸缩性.从2009年诞生于AMPLab到现在已经成 ...