Android MaterialDesign(一)
2016-08-05 20:55
246 查看
MaterialDesign
好久没更新了,最近一直在充电,复习整理了以前的一些资料,业余时间学习做饭,今天切洋葱好辣眼睛~~~
言归正传,谷歌14年就开始发布MaterialDesign(中文可以翻译成原质化设计),并且还在不断更新,可以理解为一种设计的指导,具体包括扁平化,鲜明的形象,有意义的动画效果,更流畅的交互体验,对于交互和UI有一些设计指导的作用,相对于程序开发者来说,主要是有一些官方的自定义控件需要掌握和学习。其中包括CoordinatorLayout,Toolbar,FloatingActionButton等等一系列效果很好看又方便的代码,如果开发者自己实现相似的效果比较麻烦,而且费时,官方已经提供了这些控件和效果,为什么不直接拿来用呢?
使用AndroidStudio新建工程的时候,会经过这个画面:
一般我们会选择一个Empty,值得注意的是该界面有一个ScrollingActivity,这个界面就包含了一些MaterialDesign中的新控件,可以当做DEMO看一看,新建一个效果如图:
打开布局文件,最外层是个CoordinatorLayout,该Layout直接继承ViewGroup,类似于ScrollView,当内容超出一屏幕可以滑动,区别在于CoordinatorLayout的下一层级可以包含多个控件,紧接着放了一个AppBarLayout,包裹着一个CollapsingToolbarLayout,两者配合使用可以实现一个很流畅的折叠效果,主要在于 app:layout_scrollFlags这个属性,注意是app开头的属性,具体包括:
scroll: 所有想滚动出屏幕的view都需要设置enterAlways:这个flag让任意向下的滚动都会导致该view变为可见
enterAlwaysCollapsed:当控件设置minHeight属性时才可生效当滚动视图到达顶部时才扩大到完整高度
exitUntilCollapsed:当控件滚动退出屏幕后,折叠在顶端
这些属性一般会配合使用
FloatingActionButton在新的版本里面也一直很有存在感,Float是它的主要亮点,简单理解为会浮动的ImageButton, app:layout_anchor属性表示依附于哪个控件, app:layout_anchorGravity表示它的具体位置,一般可以当做标签使用。
Toolbar:可以说在3.0中,ActionBar并不是很好用,因此又有新的控件代替之,Toolbar比ActionBar更加灵活,设置的属性有:
setNavigationIcon:相当于一个小图标setLogo:logo
setTitle:主标题
setSubtitle:副标题
setOnMenuItemClickListener:设定菜单各按鈕的动作,这点跟以前的ActionBar类似,仍然有一个点击出menu的事件。
NestedScrollView一般用于包裹listview,要使用 app:layout_behavior属性,因此需要CoordinatorLayout配合使用。
TabLayout,这是个好东西,viewpager经常需要配合TabPageIndicator使用来达到滑动标签的效果,但是这个组合很麻烦,使用TabLayout代替就会方便很多,当然了还是需要FragmentPagerAdapter 配合使用,只不过是用TabLayout代替了TabPageIndicator的位置,代码相对简洁了一些。
NavigationView就是android抽屉效果实现的关键控件之一,类似于我们以前使用的第三方slidemenu,google已经提供了一个抽屉控件Drawer,新建Activity时就在ScrollingActivity左边可以看到一个DrawerActivity:
NavigationView需要和DrawerLayout配合使用,DrawerLayout展示的是默认看到的内容,NavigationView是它的子控件,用于展示抽屉里隐藏的内容,实现OnNavigationItemSelectedListener并重写onNavigationItemSelected用于控制item的点击事件,DrawerLayout设置一个ActionBarDrawerToggle用于控制收缩,用起来不是很复杂。
今天先介绍到这里,该去洗碗了,下一篇继续介绍~~~
相关文章推荐
- Android MaterialDesign 之 百分比布局
- Android基础——Tween动画、Drawable动画、Property动画、MaterialDesign动画、Trasition动画
- 一步步走进Android MaterialDesign
- Android的materialDesign风格的主题样式
- Android之MaterialDesign应用技术2-仿支付宝上滑搜索框缓慢消失
- 一个可以自由定制外观、支持拖拽消除的 MaterialDesign 风格 Android BadgeView
- AndroidMaterialDesign动画之Curved Motion
- Android开发----MaterialDesign设计下material-dialogs用法
- Android MaterialDesign相关全
- Android之MaterialDesign学习
- 一个可以自由定制外观、支持拖拽消除的MaterialDesign风格Android BadgeView
- 一步步走进Android MaterialDesign 之 ToolBar动画效果(2)
- Android MaterialDesign 转场动画
- Android基础控件——MaterialDesign所有组件的使用,搭建5.0项目的第一步
- Android中MaterialDesign的使用,以及实现仿网易新闻客户端的UI效果(一)
- Android MaterialDesign控件使用以及RecyclerView,ItemDecoration的基本使用
- Android MaterialDesign 之 FloatingActionButton
- Android开发之MaterialDesign动画总结
- AndroidMaterialDesign动画之Animate View State Changes
- Android图片海报制作-MaterialDesign使用