Android MaterialDesign

  继续上一次的内容,这一次的控件更加的常用,而且效果也不错。
  RecyclerView:这个相对已经不是很新鲜了,替代了ListView,GridView,内置了viewholder,看似更加麻烦了,实际上是使得开发更加灵活,达到了解耦的效果。常用的方法:

setAdapter:设置adapter
setItemAnimator:默认就有一个很炫的渐变动画,每次添加或者删除item,都会触发
addItemDecoration:直接在代码里设置下滑线了,不用再去布局文件里找了
setLayoutManager:这个最关键,决定了recyclerView是什么类型的,传入GridLayoutManager,那么他就是一个GridView,相应的传入相应的manager,获得相应的模式,甚至瀑布流都已经帮你实现好了,只需要传入StaggeredGridLayoutManager并设置相应参数即可,有一种官方逼死同人的感觉-_-,最后在onBindViewHolder中书写填充数据的代码,还有一些细节可以说的,这里就省略了,感兴趣可以找一些专门讲解recyclerView的文章,包括点击事件的监听,自定义更新动画,包括分割线都可以定制,官方提供的接口还是挺多的

  CardView:这个相比较recyclerView就简洁多了,如果你需要做一个圆角卡片的item控件,必然要使用到.9图,如果你的产品经理还要加阴影呢?那么美工和交互应该直接去天台了,还好有了CardView,给人一种简约之美,尤其是通过代码设置阴影,刚出的时候经常配合RecyclerView的瀑布流模式使用,适配起来问题不大,感觉好极了
  TextInputLayout:一种新的交互思路?EditText太单调了,那么换个口味,布局的时候,TextInputLayout包裹着EditText,EditText设置hint后,会提示用户这个输入框输入的是什么,一旦输入第一个字后,用户会失去这个提示,有的用户有的金鱼一般的记忆(其实人家金鱼的记忆不止7秒好么),刚注册的账号都能忘了密码的那种,造成了不好的用户体验,因此使用TextInputLayout就可以花式解决这个问题,提示会跑到TextInputLayout的上部分,实现的效果也挺好看的,有一种高逼格的感觉,给UI和交互一种全新的思路
  Snackbar:传说中用来代替Toast的一种控件,底部全黑的提示,有一种浓重的web的气息(至少我是这么认为的),不过说代替Toast有点早,毕竟Toast还可以用来提示的强大功能在嘛,比Toast更灵活倒是真的,可以自定义的属性更丰富,或者说相比较Toast,Snackbar的接口更开方,毕竟修改Toast的样式还是需要多写一点代码的
  SwipeRefreshLayout :这个经常配合RecyclerView使用,经典样式是下拉后界面不动,上浮一个圆形箭头自转,当初刚接触的时候还以为是内置在RecyclerView里面(中了pulltorefreshlistview毒太深了,只怪当初太年轻),它其实可以单独使用,setOnRefreshListener里面设置OnRefreshListener,重写onRefresh()方法即可,在里面不要更新UI,推荐发消息更新界面即可
  到此为止,目前MaterialDesign的内容就这些了,如果有新内容会更新,就是这样,下期节目再见-_-。