Skip to content

hcz017/AndroidSupportDesign

Repository files navigation

为学习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)。 后调查发现:

不管是

  1. 在布局文件里设置状态栏颜色
     <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">
  2. 还是在java代码里设置状态栏颜色
        collapsingToolbarLayout.setStatusBarScrimColor(Color.GREEN);

都需要先对状态栏的透明度设置一下,上面的代码才会生效,为啥会这样?暂时没研究。 设置状态栏透明度的三种方法:

  1. 在style.xml中增加下面的代码把状态栏设置成全透明

         <item name="android:statusBarColor">@android:color/transparent</item>
  2. 在style.xml中增加下面的代码把状态栏设置成半透明

        <item name="android:windowTranslucentStatus">true</item>
  3. 在java代码中onCreate()方法里把状态栏设置成半透明

        getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);

如果你已经在style里面把状态栏设置成了透明,那么CollapsingToolbarLayout也想要透明效果的话就无需设置了。

设置半透明和透明的效果图就是上面的图(两边都是紫色)。

PS:不要吐槽审美,为了凸显效果才这样的。

TextInputLayout和Snackbar

效果图

注意点

想要Snackbar可以滑动消除,需要把它放在CoordinatorLayout里面

RecyclerView

效果图

这个没啥说的

AnimatedVectorDrawable

效果图

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

TabLayout

效果图

和palette一起应用的

About

为学习Android Support Design而写的Demo

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages