如何制作自定义 SeekBar 以在栏中显示颜色渐变?

How to make a custom SeekBar to show a color gradient in the bar?

出于学习目的,我想像这样实现一个 HSV 颜色选择器:

我知道我将使用 SeekBars,但我如何才能在 SeekBar.

的栏中显示这些渐变
  1. 如何在栏中显示 7 种色谱,就像图中显示的第一个一样?

  2. 如何显示从白色到特定颜色的线性渐变?以及如何显示从黑色到特定颜色的线性渐变?

我不是要代码,只是要大致的步骤大纲?

SeekBar 间接扩展了 ProgressBar,它有一个名为 setProgressDrawable(Drawable d) 的方法,将那个柱绘制为 Drawable,您将其作为参数传递给它.

您必须实现自己的自定义 ShapeDrawable(可能是 RectShape)来提供您想要的渐变。参见Android Graphics and Drawables guide and classes around Shader, e.g. LinearGradient