我注意到Android Studio上的Google模板在状态栏和工具栏之间有一点阴影。我的平面设计师认为我不应该这样,但我只是不知道,因为模板有它。
这样做的正确方法是什么?
以下是使用Android Studio模板和零代码修改创建的应用程序的两个屏幕截图。
编辑:只是为了澄清,我知道这是因为<item name="android:statusBarColor">@android:color/transparent</item>
实际需要的,因为在我的应用程序中我有一个导航抽屉。但我的问题并不是如何修复它,我想知道这是否是谷歌希望它的工作方式?
另外我应该提一下,我只测试棒棒糖和棉花糖。
答案 0 :(得分:1)
这是我的透明状态栏,在Marshmallow上有一个抽屉。阴影不存在。
主题:
<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 标志是关键。