Support Library23.2更新内容

前两天Google更新了Support Library23.2 过年来就一直在赶项目 学习的时间也少了很多 但今年我给自己也规定了一周最少也要写一篇博客 于是今天挤着时间看了看已经有些大神都已经做出Demo 一些坑基本都可以Google出来了 (这就叫比自己优秀的人比自己更努力 好吧其实还是自己太懒了)ok Let's study

更新内容

  • support-vector-drawable and animated-vector-drawable
  • AppCompat DayNight theme
  • Bottom Sheets
  • ** RecyclerView**
  • ** Custom Tabs**
  • ** Leanback for Android TV**
    官方地址 http://android-developers.blogspot.com/2016/02/android-support-library-232.html
    部分代码参考自(出于对他人尊重永远把他人的链接放在前面):https://github.com/liaohuqiu/android-support-23.2-sample
    下方有本博客源码

AppCompat DayNight theme

主题切换当然我们就需要两份主题对应"day" "night"

night

Paste_Image.png

Support Library23.2更新内容_第1张图片
Paste_Image.png

day

Paste_Image.png

相应的xml布局中需要设置背景android:background="?android:colorBackground"

Support Library23.2更新内容_第2张图片
Paste_Image.png

这样对应的设置就OK了
代码上也很简单

白天模式:

getDelegate().setLocalNightMode(AppCompatDelegate.MODE_NIGHT_YES);
recreate();

夜晚模式:
getDelegate().setLocalNightMode(AppCompatDelegate.MODE_NIGHT_NO);recreate();

自动模式:
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_AUTO);

官方文档是这样描述自动模式的
When using AppCompatDelegate.MODE_NIGHT_AUTO, the time of day and your last known location (if your app has the location permissions) are used to automatically switch between day and night, while MODE_NIGHT_NO and MODE_NIGHT_YES forces the theme to never or always use a dark theme, respectively.
它会根据最后一次定位来选择模式,同时也可以强制改变主题模式

Bottom Sheets

官方中有讲此次更新Bootom Sheets是支持了所有View 并支持多个回调事件
STATE_COLLAPSED 折叠状态。可通过app:behavior_peekHeight来设置默认显示的高度。
STATE_SETTING 拖拽松开之后到达终点位置(collapsed or expanded)前的状态。
STATE_EXPANDED 完全展开的状态。
STATE_HIDDEN 隐藏状态。默认是false,可通过app:behavior_hideable
属性设置。

STATE_DRAGGING 被拖拽状态

Support Library23.2更新内容_第3张图片
Paste_Image.png
Support Library23.2更新内容_第4张图片
Paste_Image.png

几乎不用写什么代码就可以有效果了(!--我承认UI是有点丑)

Support Library23.2更新内容_第5张图片
bottomSheet.gif

同时谷歌还提供了一个类可以完成类似的操作BottomSheetDialog使用也很简单

Support Library23.2更新内容_第6张图片
Paste_Image.png

最后贴上整个效果


Support Library23.2更新内容_第7张图片
ss.gif

关于RecyclerView最主要的是他支持了WRAP_CONTENT

源码地址:
https://github.com/EasonHolmes/AboutSupport23.2/tree/master

你可能感兴趣的:(Support Library23.2更新内容)