前两天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
day
相应的xml布局中需要设置背景android:background="?android:colorBackground"
这样对应的设置就OK了
代码上也很简单
白天模式:
<pre><code>getDelegate().setLocalNightMode(AppCompatDelegate.MODE_NIGHT_YES);
recreate();</code></pre>
夜晚模式:<pre><code>getDelegate().setLocalNightMode(AppCompatDelegate.MODE_NIGHT_NO);recreate();</code></pre>
自动模式:<pre><code>AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_AUTO);</code></pre>
官方文档是这样描述自动模式的
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 被拖拽状态
几乎不用写什么代码就可以有效果了(!--我承认UI是有点丑)
同时谷歌还提供了一个类可以完成类似的操作BottomSheetDialog使用也很简单
最后贴上整个效果
关于RecyclerView最主要的是他支持了WRAP_CONTENT
源码地址:
https://github.com/EasonHolmes/AboutSupport23.2/tree/master