MD整理笔记(1)
2016-06-16 14:50
513 查看
MD出来很久了,但是受制于5.0才能使用,所以还没普及,大家可能还要为了兼容低版本烦恼不已。相信不远将来会越来越流行。
1.为了能使用 这些 material design 组件,你需要去更新最新的SDK中的Extras支持库,然后compile ‘com.android.support:design:23.2.1’
2.底部动作条(Bottom Sheets)特别适合有三个或者三个以上的操作需要提供给用户选择、并且不需要对操作有额外解释的情景。如果只有两个或者更少的操作,或者需要详加描述的,可以考虑使用菜单(Menu)或者对话框替代
3.悬浮响应按钮(Floating action button), 点击后会产生墨水扩散效果的圆形按钮。
浮动按钮(Raised button), 常见的方形纸片按钮,点击后会产生墨水扩散效果。
扁平按钮(Flat button), 点击后产生墨水扩散效果,和浮动按钮的区别是没有浮起的效果。
4.TextInputLayout 该控件是用于EditView输入框的,主要解决之前EditView在获得焦点编辑时hint属性提示语消失,这一点在一个页面有多个EditView输入框的时候不是很好,因为很有可能用户在输入多个EditView之后,不知道当前EditView需要输入什么内容。为了解决这一问题,TextInputLayout就此诞生了。TextInputLayout是继承自LinearLayout容器布局,因此我们需要将EditView包含在TextInputLayout之内才可以使用,言外之意:TextInputLayout不能单独使用。
5.Snackbar提供了一个介于Toast和AlertDialog之间轻量级控件,它可以很方便的提供消息的提示和动作反馈
6.TabLayout
Tabs选项卡,不用自己自定义可以用系统的
常用的属性有三个:
app:tabSelectedTextColor:Tab被选中字体的颜色
app:tabTextColor:Tab未被选中字体的颜色
app:tabIndicatorColor:Tab指示器下标的颜色
1.为了能使用 这些 material design 组件,你需要去更新最新的SDK中的Extras支持库,然后compile ‘com.android.support:design:23.2.1’
2.底部动作条(Bottom Sheets)特别适合有三个或者三个以上的操作需要提供给用户选择、并且不需要对操作有额外解释的情景。如果只有两个或者更少的操作,或者需要详加描述的,可以考虑使用菜单(Menu)或者对话框替代
3.悬浮响应按钮(Floating action button), 点击后会产生墨水扩散效果的圆形按钮。
浮动按钮(Raised button), 常见的方形纸片按钮,点击后会产生墨水扩散效果。
扁平按钮(Flat button), 点击后产生墨水扩散效果,和浮动按钮的区别是没有浮起的效果。
4.TextInputLayout 该控件是用于EditView输入框的,主要解决之前EditView在获得焦点编辑时hint属性提示语消失,这一点在一个页面有多个EditView输入框的时候不是很好,因为很有可能用户在输入多个EditView之后,不知道当前EditView需要输入什么内容。为了解决这一问题,TextInputLayout就此诞生了。TextInputLayout是继承自LinearLayout容器布局,因此我们需要将EditView包含在TextInputLayout之内才可以使用,言外之意:TextInputLayout不能单独使用。
final TextInputLayout inputLayout = findView(R.id.textInput); inputLayout.setHint("请输入姓名:"); EditText editText = inputLayout.getEditText(); editText.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) { if (s.length()>4){ inputLayout.setErrorEnabled(true); inputLayout.setError("姓名长度不能超过4个"); }else{ inputLayout.setErrorEnabled(false); } } @Override public void afterTextChanged(Editable s) { } });
5.Snackbar提供了一个介于Toast和AlertDialog之间轻量级控件,它可以很方便的提供消息的提示和动作反馈
final Snackbar snackbar = Snackbar.make(inputLayout,"测试弹出提示",Snackbar.LENGTH_LONG); snackbar.show(); snackbar.setAction("取消",new View.OnClickListener() { @Override public void onClick(View v) { snackbar.dismiss(); } });
6.TabLayout
Tabs选项卡,不用自己自定义可以用系统的
常用的属性有三个:
app:tabSelectedTextColor:Tab被选中字体的颜色
app:tabTextColor:Tab未被选中字体的颜色
app:tabIndicatorColor:Tab指示器下标的颜色
addTab(TabLayout.Tab tab, int position, boolean setSelected) 增加选项卡到 layout 中 - addTab(TabLayout.Tab tab, boolean setSelected) 同上 - addTab(TabLayout.Tab tab) 同上 - getTabAt(int index) 得到选项卡 - getTabCount() 得到选项卡的总个数 - getTabGravity() 得到 tab 的 Gravity - getTabMode() 得到 tab 的模式 - getTabTextColors() 得到 tab 中文本的颜色 - newTab() 新建个 tab - removeAllTabs() 移除所有的 tab - removeTab(TabLayout.Tab tab) 移除指定的 tab - removeTabAt(int position) 移除指定位置的 tab - setOnTabSelectedListener(TabLayout.OnTabSelectedListener onTabSelectedListener) 为每个 tab 增加选择监听器 - setScrollPosition(int position, float positionOffset, boolean updateSelectedText) 设置滚动位置 - setTabGravity(int gravity) 设置 Gravity - setTabMode(int mode) 设置 Mode,有两种值:TabLayout.MODE_SCROLLABLE和TabLayout.MODE_FIXED分别表示当tab的内容超过屏幕宽度是否支持横向水平滑动,第一种支持滑动,第二种不支持,默认不支持水平滑动。 - setTabTextColors(ColorStateList textColor) 设置 tab 中文本的颜色 - setTabTextColors(int normalColor, int selectedColor) 设置 tab 中文本的颜色 默认 选中 - setTabsFromPagerAdapter(PagerAdapter adapter) 设置 PagerAdapter - setupWithViewPager(ViewPager viewPager) 和 ViewPager 联动
相关文章推荐
- activiti任务监听可以获取启动流程时的参数
- svn导入项目后如何转成maven项目
- 基于SIP协议的视频通讯
- 顺时针打印二维数组---执行判断
- Apache shiro集群实现 (三)shiro身份认证(Shiro Authentication)
- Navicat 解决方案之ORA-28547
- Java连接各种数据库的实例
- java 时间操作
- 小棒组合项目总结
- 那些天我踩过的坑
- Spring MVC controller的方法返回值
- spring mvc的搭建实例,自己写的小例子
- 注册Wing IDE
- 组织机构构建说明
- mybatis的一级缓存
- 商品信息系统字段
- 常用数据类型
- iOS 心得整理
- Java伪异步IO
- mysql 命令