美文网首页
安卓MD风格的布局记录

安卓MD风格的布局记录

作者: 小二妹_019a | 来源:发表于2017-10-31 11:40 被阅读0次

    随手记录下最近工作中新接触的东西。

    两个月时间赶了3个项目,刚好前段时间突然了解了下CoordinatorLayout这个东西,然后就一头扎进去不可收拾了,从而引出了NestedScrolling机制--->>SwipeRefreshLayout、AppBarLayout、CollapsingToolbarLayout、TabLayout、ViewPager、RecyclerView等一大堆控件。

    首先,CoordinatorLayout+AppBarLayout+CollapsingToolbarLayout+Toolbar+TabLayout+ViewPager,典型的界面联调加tab切换页面的布局,标题头滑动悬浮,部分内容滑动消失等。在这3个项目中丧心病狂的几乎每个界面都用了。先上一个简单点的:

    这个就是简单的CoordinatorLayout+AppBarLayout+CollapsingToolbarLayout+Toolbar+TabLayout+ViewPager布局,CollapsingToolbarLayout指定了layout_scrollFlags为scroll与exitUntilCollapsed,表示CollapsingToolbarLayout布局会随着向上滑动而折叠,这两个属性属于AppBarLayout,另外还有enterAlways、enterAlwaysCollapsed属性,具体解释这里不介绍,百度CoordinatorLayout即可。CollapsingToolbarLayout中又有pin、parallax、none属性,设置pin的即表示CollapsingToolbarLayout滑动时控件不会变化,最终会折叠在屏幕上方,设定parallax与none的控件最终都会滑出屏幕,区别在于前者滑动过程中会有一个折叠效果,后者则是平滑滑动离开界面。上面布局中Toolbar就设置了pin属性,里面则包含了一个标题,即表示向上滑动时轮播图会离开界面,标题最终会停留在屏幕顶部。而下面的TabLayout未设置属性,即表示AppBarLayout滑动时,最终TabLayout也会停留在屏幕上方。TabLayout又与ViewPager联动,

    ViewPager指定了一个behavior属性,内容为系统提供的一个Behavior,设定这个值的主要用处是使CoordinatorLayout能够滑动起来,即CoordinatorLayout能够滑动联调子布局的前提是有一个直接的子View设置了一个Behavior属性。当然还有其他很多的Behavior属性比如FloatButton的Bahavior等,都是用于CoordinatorLayout联调布局的。

    从上面的布局可以延伸开来,是不是可以用一个Layout来替换调轮播图的位置,这样就能实现了一大块复杂的布局滑动离开界面,然后Tab栏能一直停留,下面通过List来展示数据。

    下一篇文章来记录这个。

    相关文章

      网友评论

          本文标题:安卓MD风格的布局记录

          本文链接:https://www.haomeiwen.com/subject/gzgvpxtx.html