Material Design 中自定义 Toolbar 背景颜色和透明度

阅读时长 7 分钟读完

在 Android App 开发中,Toolbar 组件是相当常用且重要的一个组件。而 Material Design 设计风格的应用中常常需要自定义Toolbar的背景颜色和透明度,让应用更加美观。在本文中,我们将详细介绍在 Material Design 中实现自定义 Toolbar 背景颜色和透明度的方法。

为什么需要自定义 Toolbar 背景颜色和透明度?

Material Design 的设计风格注重唤起用户情感,将纹理、饱和度等元素调整到最适合用户的状态,提升了产品的美感和可用性。而 Toolbar 是 Android 应用开发中值得关注和优化的组件之一。因此,通过自定义 Toolbar 的背景颜色和透明度,我们不仅能够更好地体现 Material Design 的设计风格,同时也可以提升应用的美观度和用户体验。

如何自定义 Toolbar 背景颜色和透明度?

Material Design 中的自定义 Toolbar 背景颜色和透明度,需要结合常用的两个组件:AppBarLayout 和 CollapsingToolbarLayout。

AppBarLayout

AppBarLayout 是一个增强版的 LinearLayout,用于实现带滚动效果的 AppBarLayout。AppBarLayout 是一种特殊的布局,它与 CoordinatorLayout 配合使用,可以实现强大的协调行为。使用 AppBarLayout 包裹 Toolbar 组件,可以让 Toolbar 具备滚动效果。

示例代码:

-- -------------------- ---- -------
----------------------------------------------------
    -----------------------------------
    -------------------------------------

    ------------------------------------------------
        -----------------------------------
        ------------------------------------
        -------------------------------------------------------------

        -----------------------------------------------------------
            ------------------------------------
            -----------------------------------
            ------------------------------------
            --------------------------------
            -------------------------------
            ---------------------------------------------------

            ----------------------------------
                -------------------------
                -----------------------------------
                -------------------------------------------
                ----------------------------- --

        -------------------------------------------------------------
    --------------------------------------------------

    -------- ----------------------------- --

------------------------------------------------------

CollapsingToolbarLayout

CollapsingToolbarLayout 继承自 FrameLayout,可实现传统 Toolbar 的所有功能,同时支持响应 RecyclerView 和 NestedScrollView 等的滚动事件。CollapsingToolbarLayout 还支持设置 title 和 subtitle,让界面整体效果更加美观。

示例代码:

-- -------------------- ---- -------
-----------------------------------------------------------
    ------------------------------------
    -----------------------------------
    ------------------------------------
    --------------------------------
    --------------------------------------
    ---------------------------------
    -----------------------------------
    ---------------------------------------------------

    ----------
        -----------------------
        -----------------------------------
        ------------------------------------
        -------------------------------
        ------------------------------
        ------------------------------
        ---------------------------------- --

    ----------------------------------
        -------------------------
        -----------------------------------
        ------------------------------------
        -----------------------------
        ---------------------------------------------------- --

-------------------------------------------------------------

可选配置属性

contentScrim

通过设置 app:contentScrim 属性,可以设置 Toolbar 本身的背景颜色。例如:

statusBarScrim

通过设置 app:statusBarScrim 属性,可以设置与 Toolbar 相关联的状态栏的背景颜色。例如:

layout_scrollFlags

通过设置 app:layout_scrollFlags 属性,可以为 Toolbar 设置相应的滚动标识:

  • scroll:标示子 View 可以滚动。当滚动到顶部时,AppBarLayout 进行滚动退出动画。
  • enterAlways:设置向下滚动时的动画
  • exitUntilCollapsed:标示子视图滚动直至收起到最小高度再滚动父视图。
  • snap:对于 enterAlways 或 enterAlwaysCollapsed 标志,指定是否要产生收起切换效果。如果此标志未设置,则仅进入 (enter) 位置触发收缩,退出 (exit) 位置仅止于此位置。
  • scroll|enterAlways:设置向下滚动时的动画。滑到顶部时Toolbar不隐藏。
  • scroll|enterAlwaysCollapsed:随着滚动退出时折叠。

总结

通过以上的介绍,我们可以发现,Material Design 中自定义 Toolbar 背景颜色和透明度很容易,同时还可以通过设置一些其他的属性来优化界面效果。基于以上介绍,我们可以结合自身应用的需求进行相应的自定义。同时,这也为我们后续的开发提供了很好的指导意义。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/649bb40b48841e989487963a

纠错
反馈