为学习Android Support Design而写的Demo
为学习Android Support Design而写的Demo
NavigationView
效果图

注意点
状态栏透明
就一个步骤,新建一个AppTheme.NoActionBarTransparent的style应用到Activity上就可以,不需要其他的。
    <style name="AppTheme.NoActionBar">
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
    </style>
    <style name="AppTheme.NoActionBarTransparent" parent="AppTheme.NoActionBar">
        <item name="android:statusBarColor">@android:color/transparent</item>
    </style>
亲测把蓝色调成和play商店一样的颜色,效果和play商店一毛一样。
注意,这里的transparent是全透,至于<item name="android:windowTranslucentStatus">true</item>这个是半透明,使用这个状态栏看起来会暗一点。
有个坑,就是状态栏的下端有时候会看到一个内阴影,找了一下发现原来是内容布局的根节点设置了android:fitsSystemWindows="true",这个不需要哈,删了之后就显示成平面的了。下面是对比图:

CollapsingToolbarLayout
效果图
这其实是个对比图

注意点
CollapsingToolbarLayout有一个属性可以设置在折叠状态时状态栏的颜色:
app:statusBarScrim="?attr/colorPrimary"一般会写成透明或者半透明
但是我发现,在写了这一行代码后没有生效,即颜色还是默认的颜色(colorPrimary)。
后调查发现:
不管是
- 在布局文件里设置状态栏颜色
    
<android.support.design.widget.CollapsingToolbarLayout android:id="@+id/toolbar_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" app:contentScrim="?attr/colorPrimary" app:statusBarScrim="@android:color/holo_purple" app:layout_scrollFlags="scroll|exitUntilCollapsed"> - 还是在java代码里设置状态栏颜色
    
collapsingToolbarLayout.setStatusBarScrimColor(Color.GREEN); 
都需要先对状态栏的透明度设置一下,上面的代码才会生效,为啥会这样?暂时没研究。 设置状态栏透明度的三种方法:
- 在style.xml中增加下面的代码把状态栏设置成全透明
    
<item name="android:statusBarColor">@android:color/transparent</item> - 在style.xml中增加下面的代码把状态栏设置成半透明
    
<item name="android:windowTranslucentStatus">true</item> - 在java代码中onCreate()方法里把状态栏设置成半透明
    
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); 
如果你已经在style里面把状态栏设置成了透明,那么CollapsingToolbarLayout也想要透明效果的话就无需设置了。
设置半透明和透明的效果图就是上面的图(两边都是紫色)。
PS:不要吐槽审美,为了凸显效果才这样的。
TextInputLayout和Snackbar
效果图

注意点
想要Snackbar可以滑动消除,需要把它放在CoordinatorLayout里面
RecyclerView
效果图

这个没啥说的
AnimatedVectorDrawable
效果图

矢量图动画,另外还有tween animation等没加进来。
TabLayout
效果图

和palette一起应用的