博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CoordinatorLayout + AppBarLayout + ToolBar
阅读量:6874 次
发布时间:2019-06-26

本文共 1956 字,大约阅读时间需要 6 分钟。

hot3.png

主要参考了  然后做了 一个自己的例子

首先是引入sdk

compile 'com.android.support:appcompat-v7:23.1.1'compile 'com.android.support:design:23.1.1'compile 'com.android.support:appcompat-v7:23.1.1'

其实 这一部份主要是布局上操作, 代码没有什么内容

需求一     页面有scroll内容时, toolbar 在上滑时隐藏,下滑时显示,详情见注释部分

    
  
        
        
        
        
            
                
    
    
        
            
            
            

总结下:

  1. 根布局控件必须是CoordinatorLayout,最好设置属性android:fitsSystemWindows="true"

  2. toolbar外层要放置一个AppBarLayout,  

  3. toolbar要设置一个属性app:layout_scrollFlags="scroll|enterAlways",

            这个属性是最为AppBarLayout的子控件存在的属性,设置为scroll才能不固定.

 4. 在RecyclerView或者任意支持嵌套滚动的view比如NestedScrollView上添加                 app:layout_behavior="@string/appbar_scrolling_view_behavior"属性,这样才能和AppBarLayout联动

需求二  视差滚动和toolbar切换显示

直接看布局文件以及注释:

    
        
        
            
            
            
            
            
                
        
        
    

总结下:

 1. 根布局控件必须是CoordinatorLayout,最好设置属性android:fitsSystemWindows="true"

 2.   AppBarLayout包含CollapsingToolbarLayout布局,CollapsingToolbarLayout需要指定属性

     app:layout_scrollFlags="scroll|exitUntilCollapsed"   // 向上滚动时收缩View

     app:contentScrim="?attr/colorPrimary"                   //这个指定折叠后的背景色

 3. CollapsingToolbarLayout 下包含视差图片的ImageView以及ToolBar 2个子控件

4 .最为CollapsingToolbarLayout的视察图片的控件ImageView需要2个属性:

                app:layout_collapseMode="parallax"

                app:layout_collapseParallaxMultiplier="0.1"

5.最为和视察图片交互,ToolBar需要指定属性

           app:layout_collapseMode="pin" 

6. 主要的带scroll属性的控件,比如NestedScrollView或者ScrollView,  需要指定属性:

           app:layout_behavior="@string/appbar_scrolling_view_behavior"

7.如果 FloatingActionButton指定属性

    app:layout_anchor="@id/app_bar"  //锚点定在AppBarLayout上,则可以随视差滚动联动

转载于:https://my.oschina.net/wangxnn/blog/604145

你可能感兴趣的文章
ExtJS <1> HelloWord
查看>>
squid配置及说明文档,很好很详细
查看>>
Trufun UML工具代码生成功能视频演示
查看>>
Log4j按级别输出日志到不同文件配置分析
查看>>
搭建nginx服务器
查看>>
java 运行 jar classpath配置
查看>>
go thrift oprot.Flush() not enough arguments in
查看>>
使用 Tomcat 7 新的连接池 —— Tomcat jdbc pool
查看>>
Spring MVC 介绍
查看>>
博客用途声明---重要
查看>>
linux .la .lo文件以及libtool介绍
查看>>
写python如何组织代码
查看>>
我的友情链接
查看>>
visual studio在浏览器中查看与运行的区别
查看>>
读书清单(2018书单)
查看>>
我的友情链接
查看>>
HTML滚动文字代码
查看>>
c#之旅--第二天
查看>>
vim复制粘贴大全
查看>>
几个Office使用中的小问题解决方法汇总
查看>>