材料设计应用程序需要状态栏和工具栏之间的阴影吗?

时间:2016-05-16 16:48:36

标签: android material-design android-support-library android-support-design

我注意到Android Studio上的Google模板在状态栏和工具栏之间有一点阴影。我的平面设计师认为我不应该这样,但我只是不知道,因为模板有它。

这样做的正确方法是什么?

以下是使用Android Studio模板和零代码修改创建的应用程序的两个屏幕截图。

enter image description here enter image description here

编辑:只是为了澄清,我知道这是因为<item name="android:statusBarColor">@android:color/transparent</item>实际需要的,因为在我的应用程序中我有一个导航抽屉。但我的问题并不是如何修复它,我想知道这是否是谷歌希望它的工作方式?

另外我应该提一下,我只测试棒棒糖和棉花糖。

1 个答案:

答案 0 :(得分:1)

不,它不应该在那里。状态栏应该是平坦的,没有任何阴影。请查看此页面:https://www.google.com/design/spec/style/color.html#color-color-schemes

enter image description here

这是我的透明状态栏,在Marshmallow上有一个抽屉。阴影不存在。

enter image description here

主题:

<item name="android:windowTranslucentStatus">true</item>
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>

我使用修改后的ScrimInsetsFrameLayout绘制彩色插图 - https://github.com/google/iosched/blob/master/android/src/main/java/com/google/samples/apps/iosched/ui/widget/ScrimInsetsFrameLayout.java

修改

确切地说,此布局由以下xml:

构成
<carbon.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
                            xmlns:app="http://schemas.android.com/apk/res-auto"
                            android:id="@+id/drawerLayout"
                            android:layout_width="match_parent"
                            android:layout_height="match_parent">

    <carbon.widget.LinearLayout
        android:id="@+id/content"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fitsSystemWindows="true"
        android:orientation="vertical"
        app:carbon_insetColor="?attr/colorPrimary"/>

    <carbon.widget.NavigationView
        android:id="@+id/drawerMenu"
        android:layout_width="240dp"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:background="?attr/carbon_colorBackground"
        android:fitsSystemWindows="true"
        android:orientation="vertical"
        app:carbon_elevation="@dimen/carbon_elevationDrawer"
        app:carbon_insetTop="0dp"/>

</carbon.widget.DrawerLayout>

可以在此处找到完整的来源:https://raw.githubusercontent.com/ZieIony/Carbon/master/samples/src/main/res/layout/activity_navigationview.xml

带有insets的布局将其内容向下推,并在插入空间上绘制彩色矩形。这是内容布局的。抽屉菜单的根部设置类似,但其插图设置为0dp,因此菜单可以占用所有屏幕空间。 fitsSystemWindows 标志是关键。