美文网首页Android开发经验笔记
第一行代码 阅读笔记(12章)

第一行代码 阅读笔记(12章)

作者: b22523051261 | 来源:发表于2017-01-11 00:56 被阅读15次
    • 作者:Mr.Egg
    • 状态:完成
    • 转载请注明

    一.十二章

    1.什么是MD设计(material design)

    Google官方为了解决Android界面统一所提出的设计方案
    同时推出了一个Design Support对代表性控件进行封装。

    2.Toolbar

    这张图是style.xml各颜色属性对应的位置


    20150511225554_336.jpg

    还有一点是关于右上角菜单问题,在menu中的属性showAsAction
    always:永远显示是toolbar中
    ifRoom:在空间足够下显示
    never:永远显示在菜单中(文字形式)

    3.DrawerLayout

    滑动菜单,首先他是一个布局,他允许在布局中放入两个直接子控件
    第一个是主屏幕内容,第二个是滑动菜单所要显示内容
    第二个子控件有一点要注意,layout_gravity必须指定,start是可根据语言判断
    如何调用DrawerLayout

     ActionBar actionBar = getSupportActionBar();  //获取标题栏
     if(actionBar != null){
          actionBar.setDisplayHomeAsUpEnable();  //开启左上角滑动菜单按钮
          actionBar.setHomeAsUpIndicator(R.drawable.xxx);//设置左上角图标
    }
    
    mDrawerLayout.openDrawer(GravityCompat.Start);//开启菜单栏
    

    4.NavigationView

    NavigationView是Google为了怕你不会写DrawerLayout所设计出来的.
    主要用来填充DrawerLayout的第二个部分.一般推荐高度为180dp,背景色为colorPrimary.
    如何把对应布局填充进Navigation

    <android.support.design.widget.NavigationView
            ...
            app:menu = "@menu/nax_menu"
            app:headerLayout="@layout/nav_header"/>
            <!--这两句把 菜单 和 头部的布局联系起来-->
    

    上图(摘自PDF太黑了。。。)

    Paste_Image.png

    5.悬浮按钮和可交互提示

    FloatingActionButton和Button差不多,主要注意阴影的使用,同时要配上Snackbar使用更佳.
    先上代码,这里我懒着打了。。

    Paste_Image.png

    设置过后Snackbar会从底部向上弹出,自带动画效果,用户体验也较好。
    最重要的是要注意ToastFloatingActionButton的差别

    Toast: 告诉用户发生了什么,用户只能被动接受
    FloatingActionButton: 允许在提示中加入一个可交互的按钮,用户能执行一些额外的操作

    6.CoordinatorLayout

    CoordinatorLayout是一个加强版FrameLayout。同样来自Design Support。
    能够监听所以子控件的各种事件
    Eg.在点击FloatingActionButton的时候弹出的Snackbar会把FloatingActionButton上移,保证不会被挡住

    7.CardView布局

    //书上没什么主要内容,我开始瞎BB了.
    CardView 卡片视图 顾名思义长得和卡片一样,可以往里面填充内容。

    在5.0之后产生,是Google为了Material Design的思想所设计的。主要三点,一个阴影,一个圆角还有一个是与 RecyclerView的搭配使用。

    但是要注意,Google说过:信息较多的时候不介意使用,这样会分散用户的注意力。

    还有一点,在CardView内只能包含一个子控件
    以上,是我个人的总结。

    AppbarLayout
    内部是一个封装过的垂直LinearLayout,内部做了很多滚动事件的封装。
    使用:
    把Toolbar放在AppbarLayout里面
    然后在RecyclerView中使用app:layout_behavior属性指定布局行为

    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    

    当AppBarLayout接受到事件的时候,通过layout_scrollFlags属性实现。

    app:layout_scrollFlags="scroll | enterAlways | snap"
    

    scroll: 当RecyclerView向上滚动的时候,一起向上并隐藏
    enterAlways : 当RecyclerView向下滚动的时候,一起向下并显示
    snap: 根据当前滚动距离,自动选择隐藏还是显示

    8.下拉刷新

    SwipeRefreshLayout来自于support-v4库,Google官方提供的Material Design类型的控件。
    使用:只要将需要下拉刷新的控件(RecyclerView)外面嵌一层SwipeRefreshLayout就可以了。
    同时也要将layout_behavior="xxxx"移到SwipeRefreshLayout中。

    SwipeRefreshLayout

    几个常用方法:

    setColorSchemeResources() 用于设置下拉刷新进度条颜色
    setRefreshing() 用于设置下拉刷新的状态
    setOnRefreshListener() 用于设置下拉刷新的监听器

    出去玩咯...晚点继续更

    相关文章

      网友评论

        本文标题:第一行代码 阅读笔记(12章)

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