Android5.0特性

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android5.0特性相关的知识,希望对你有一定的参考价值。


  1. 一.了解Material Design
  2. 1.概念:融合卡片式,立体式,拟物化的设计风格
  3. 2.详情:查看 http://design.1sters.com
  4. 3.官网链接:http://developer.android.com/training/material/theme.html
  5. 二.替换Theme
  6. MaterialTheme颜色设置:http://www.materialpalette.com/red/deep-purple
  7. 1.setTheme方法必须要在setContentView或者super.onCreate方法之前调用
  8. 2.Activity定义静态变量theme,然后给theme赋值,再重新创建Activity
  9. 三.View高度与阴影
  10. https://developer.android.com/intl/zh-tw/training/material/shadows-clipping.html
  11. 1.View拥有Z属性,Z越大阴影越大,Z值高度View会覆盖在Z值低的View之上:
  12. Z2个因素组成:Z = elevation + translationZ
  13. 2.elevation表示view在相对于父view的高度,属于静态因素,可以在xml中直接使用属性,
  14. 也可以在代码中使用view.setEvelvation();
  15. 3.transtionZ表示viewZ方向移动的距离,属于动态因素,一般用于属性动画中,对view
  16. Z坐标进行改变;
  17. 4.Android对具有透明通道的背景图片不绘制阴影;
  18. 四.RecyclerView的使用
  19. https://developer.android.com/intl/zh-tw/training/material/lists-cards.html
  20. 1.LayoutManager:控制RecyclerView如何显示布局,系统提供3个布局:
  21. a.LinearLayoutManager:线性布局
  22. b.GridLayoutManager: 网格布局
  23. c.StaggeredGridLayoutManager 瀑布流布局
  24. 2.RecyclerView.Adapter<MyAdapter.ViewHolder>:设置Adapter
  25. 3.设置点击事件,RecyclerView没有setOnItemClickListener,只能在Adapter中给View
  26. 设置Click事件
  27. 4.通知adapter更新:notifyDataSetChanged方法
  28. 五.SwipeRefreshLayout的使用
  29. 1.它内部可以包裹ListViewGridView等具有垂直方向手势的控件
  30. 2.可以设置刷新监听:
  31. 3.更改SwipeRefreshLayout的刷新进度条样式:
  32. refreshLayout.setColorSchemeColors(Color.RED,Color.GREEN,Color.BLUE);//设置进度样式
  33. refreshLayout.setProgressBackgroundColorSchemeColor(Color.parseColor("#66666666");//设置背景色
  34. 六.CardView的使用
  35. CardLayout拥有高度和阴影,以及轮廓裁剪,圆角等功能
  36. 1.设置圆角:card_view:cardCornerRadius="10dp"
  37. 2.设置高度:card_view:cardElevation="10dp"
  38. 3.设置内边距:card_view:contentPadding="10dp"
  39. 4.设置背景色:card_view:cardBackgroundColor="?android:attr/colorPrimary"
  40. 七.使用Palette识别颜色,将拾取到的颜色赋予ActionBarStatusBar,可以让界面色调统一
  41. 1.最活跃的颜色:palette.getVibrantColor(0)
  42. 2.最暗的活跃色: palette.getDarkVibrantColor()
  43. 3.最亮的活跃色: palette.getLightVibrantColor()
  44. 4.最柔和的颜色:palette.getMutedColor(0)
  45. 5.最暗的柔和色:palette.getDarkMutedColor(0)
  46. 6.最亮的柔和色:palette.getLightMutedColor(0)
  47. 七.与旧版本兼容
  48. 1.可以通过Support Library使用的:
  49. a.RecyclerView
  50. b.SwipeRefreshLayout
  51. c.CardView
  52. d.Palette颜色识别
  53. e.定义theme:让应用的theme继承Theme.AppCompat,
  54. 同时定义属性的时候,去电android:,比如:
  55. <item name="colorPrimary">#673AB7</item>
  56. <item name="colorPrimaryDark">#512DA8</item>
  57. 2.定义多个layout,使用新API的布局放在res/layout-v21中,其他的放res/layout
  58. 3.在代码中对系统Version做判断,使用对应的效果


一.了解Material Design
1.概念:融合卡片式,立体式,拟物化的设计风格
2.详情:查看 http://design.1sters.com
3.官网链接:http://developer.android.com/training/material/theme.html

二.替换Theme
MaterialTheme颜色设置:http://www.materialpalette.com/red/deep-purple
1.setTheme方法必须要在setContentView或者super.onCreate方法之前调用
2.给Activity定义静态变量theme,然后给theme赋值,再重新创建Activity

三.View高度与阴影
https://developer.android.com/intl/zh-tw/training/material/shadows-clipping.html
1.View拥有Z属性,Z越大阴影越大,Z值高度View会覆盖在Z值低的View之上:
  Z由2个因素组成:Z = elevation + translationZ
2.elevation表示view在相对于父view的高度,属于静态因素,可以在xml中直接使用属性,
  也可以在代码中使用view.setEvelvation();
3.transtionZ表示view在Z方向移动的距离,属于动态因素,一般用于属性动画中,对view
  的Z坐标进行改变;
4.Android对具有透明通道的背景图片不绘制阴影;

四.RecyclerView的使用
https://developer.android.com/intl/zh-tw/training/material/lists-cards.html
1.LayoutManager:控制RecyclerView如何显示布局,系统提供3个布局:
  a.LinearLayoutManager:线性布局
  b.GridLayoutManager: 网格布局
  c.StaggeredGridLayoutManager: 瀑布流布局
2.RecyclerView.Adapter<MyAdapter.ViewHolder>:设置Adapter
3.设置点击事件,RecyclerView没有setOnItemClickListener,只能在Adapter中给View
  设置Click事件
4.通知adapter更新:notifyDataSetChanged方法
  
五.SwipeRefreshLayout的使用
1.它内部可以包裹ListView,GridView等具有垂直方向手势的控件
2.可以设置刷新监听:
3.更改SwipeRefreshLayout的刷新进度条样式:
  refreshLayout.setColorSchemeColors(Color.RED,Color.GREEN,Color.BLUE);//设置进度样式
  refreshLayout.setProgressBackgroundColorSchemeColor(Color.parseColor("#66666666");//设置背景色

六.CardView的使用
CardLayout拥有高度和阴影,以及轮廓裁剪,圆角等功能
1.设置圆角:card_view:cardCornerRadius="10dp"
2.设置高度:card_view:cardElevation="10dp"
3.设置内边距:card_view:contentPadding="10dp"
4.设置背景色:card_view:cardBackgroundColor="?android:attr/colorPrimary"

七.使用Palette识别颜色,将拾取到的颜色赋予ActionBar,StatusBar,可以让界面色调统一
1.最活跃的颜色:palette.getVibrantColor(0)
2.最暗的活跃色: palette.getDarkVibrantColor()
3.最亮的活跃色: palette.getLightVibrantColor()
4.最柔和的颜色:palette.getMutedColor(0)
5.最暗的柔和色:palette.getDarkMutedColor(0)
6.最亮的柔和色:palette.getLightMutedColor(0)


七.与旧版本兼容
1.可以通过Support Library使用的:
  a.RecyclerView
  b.SwipeRefreshLayout
  c.CardView
  d.Palette颜色识别
  e.定义theme:让应用的theme继承Theme.AppCompat,
    同时定义属性的时候,去电android:,比如:
<item name="colorPrimary">#673AB7</item>
     <item name="colorPrimaryDark">#512DA8</item>
2.定义多个layout,使用新API的布局放在res/layout-v21中,其他的放res/layout
3.在代码中对系统Version做判断,使用对应的效果
















以上是关于Android5.0特性的主要内容,如果未能解决你的问题,请参考以下文章

细数Android5.0到Android7.X 多媒体技术新特性

Kotlin实例----android5.0新特性之palette

android5.0新特性/新功能都有哪些

Android5.0美不胜收的新特性 Material Design

有史来最大改变 Android 5.0十大新特性

Android5.0 Recovery源代码分析与定制