Android Material Design 中的 GradientDrawable 详解

阅读时长 5 分钟读完

众所周知,在 Android 开发中,人们都很关注 Material Design 组件的使用。其中,GradientDrawable 组件也是很常用到的一个,该组件可以实现渐变色背景等效果,非常常用,本篇文章将围绕 GradientDrawable 进行详细解析及应用。

GradientDrawable 概述

GradientDrawable 是 Android API 中的一个类,该类继承自 Drawable 类。该组件用于创建渐变的背景,在 View 或者 ViewGroup 中设置背景属性(background)时可以使用它。如果您是 Android 开发新手,建议您在掌握布局,控件等基本知识后再来了解本文涵盖的渐变背景。

下面是 GradientDrawable 常见属性值:

  • shape:指定图形的形状,可以是矩形(rectangle)、圆形(oval)、线形(line)、矩形圆角(rectangle、round)、圆形圆角(oval、round);
  • colors:指定渐变的颜色值,可以是单色或者多色;
  • gradientType:指定渐变的类型,支持线性渐变(linear)、辐射渐变(radial)、扫描式渐变(sweep);
  • angle:指定线性渐变的角度,可以是 0, 45, 90, 135, 180 等八个角度,表示从哪个角度开始渐变。

GradientDrawable 使用示例

下面是一个 GradientDrawable 的使用示例,在这个示例中,我们将通过 GradientDrawable 实现布局中一个美观的渐变色背景。

示例代码

这里先给出一段简单的代码实现 GradientDrawable 渐变样式:

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

上述代码生成了一个矩形的 GradientDrawable 对象,并设置了它的渐变色。其中,startColor 是渐变起始色,endColor 是渐变终止色,而 gradientType 指定了渐变的类型,angle 指定了线性渐变的角度。

示例效果

上述代码实现的效果如下图所示:

更多示例

下面再给出一些不同形状的 GradientDrawable 示例代码,用于展示 GradientDrawable 的更多使用方式。

矩形圆角的 GradientDrawable 示例代码

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

上述示例代码效果如下图所示:

圆形 GradientDrawable 示例代码

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

上述示例代码效果如下图所示:

更多细节属性

除了上述示例代码中提到的属性,GradientDrawable 还提供了其他可以定制的属性:

  • alpha:设置透明度,取值范围为 0 ~ 255;
  • cornerRadius:设置圆角半径;
  • dashWidth、dashGap:设置虚线的宽度和间隙;
  • solidColor:设置填充的颜色;
  • size:设置 GradientDrawable 对象的大小;
  • stroke:设置边缘线的颜色、宽度、虚线等。

总结

通过文章的介绍,我们可以了解到 GradientDrawable 组件的使用方法及常见属性,以及它在布局中的应用。希望读者能够通过本文更好地理解 GradientDrawable 的使用,更好的将它应用到实际开发中。

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

纠错
反馈