我正在尝试使用高程和设计库将阴影添加到工具栏。布局代码类似于:
<android.support.design.widget.CoordinatorLayout ... >
<android.support.design.widget.AppBarLayout ... >
<android.support.design.widget.CollapsingToolbarLayout ... >
<android.support.v7.widget.Toolbar
android:id="@+id/app_bar"
android:layout_width="match_parent"
android:layout_height="?actionBarSize"
app:contentInsetStart="16dp"
android:background="@color/colorPrimary"
android:elevation="16dp"
/>
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
github上提供的完整应用程序源代码。
问题是工具栏高度或阴影的行为不符合我的预期。如果您观看下面的屏幕截图,您会发现问题。
我需要做的是在蓝色区域下面显示阴影。
非常感谢任何提示。
答案 0 :(得分:6)
如上所述[{3}},实施CollapsingToolbarLayout
- 如果CollapsingToolbarLayout
显示非固定元素,则会删除提升:
if (Math.abs(verticalOffset) == scrollRange) {
// If we have some pinned children, and we're offset to only show those views,
// we want to be elevate
ViewCompat.setElevation(layout, layout.getTargetElevation());
} else {
// Otherwise, we're inline with the content
ViewCompat.setElevation(layout, 0f);
}
因此,我建议的是通过从Google复制原始CollapsingToolbarLayout
来制作您自己的CollapsingToolbarLayout
,并在此条件下进行更改。
答案 1 :(得分:4)
将高程移动到AppBarLayout。 CollapsingToolbarLayout的大小发生了变化,因此在AppBarLayout上设置它会在正确的位置创建阴影。
var