高度和阴影错误的工具栏
Toolbar with a wrong height and shadow
我正在尝试使用高度和设计库向工具栏添加阴影。布局代码类似于:
<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 上获得。
问题是工具栏高度或阴影的行为与我预期的不同。如果您观看下面的屏幕截图,您会发现问题所在。
我需要做的是显示蓝色区域下方的阴影。
非常感谢任何提示。
将高度移至 AppBarLayout。 CollapsingToolbarLayout 的大小发生变化,因此在 AppBarLayout 上设置它会在正确的位置创建阴影。
<android.support.design.widget.CoordinatorLayout ... >
<android.support.design.widget.AppBarLayout
android:elevation="16dp">
<android.support.design.widget.CollapsingToolbarLayout ... >
<android.support.v7.widget.Toolbar ... />
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
如前所述 ,这是通过 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
,并在这种情况下进行更改。
我正在尝试使用高度和设计库向工具栏添加阴影。布局代码类似于:
<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 上获得。
问题是工具栏高度或阴影的行为与我预期的不同。如果您观看下面的屏幕截图,您会发现问题所在。
我需要做的是显示蓝色区域下方的阴影。
非常感谢任何提示。
将高度移至 AppBarLayout。 CollapsingToolbarLayout 的大小发生变化,因此在 AppBarLayout 上设置它会在正确的位置创建阴影。
<android.support.design.widget.CoordinatorLayout ... >
<android.support.design.widget.AppBarLayout
android:elevation="16dp">
<android.support.design.widget.CollapsingToolbarLayout ... >
<android.support.v7.widget.Toolbar ... />
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
如前所述 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
,并在这种情况下进行更改。