android - 如何在 SeekBar 中制作颜色渐变?

标签 android colors gradient picker seekbar

我想将 SeekBar(即老式 Java Slider)用于颜色渐变选择器。我见过一些这样的例子,但它们都需要创建新类等。必须有一种方法来修改或覆盖原始类。或者只是用渐变替换背景。

最佳答案

我想通了,这就是您的做法。

您在 XML 中创建一个标准的搜索栏。

<SeekBar
       android:id="@+id/seekbar_font"
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:layout_margin="10px"
       android:layout_below="@id/color_font_text"
       android:max="100"
       android:progress="50"></SeekBar>

然后您通过创建一个 boxShape 并在其中强制一个 LinearGradient 在您的 onCreate() 中自定义搜索栏。

LinearGradient test = new LinearGradient(0.f, 0.f, 300.f, 0.0f,  

      new int[] { 0xFF000000, 0xFF0000FF, 0xFF00FF00, 0xFF00FFFF,
      0xFFFF0000, 0xFFFF00FF, 0xFFFFFF00, 0xFFFFFFFF}, 
      null, TileMode.CLAMP);
ShapeDrawable shape = new ShapeDrawable(new RectShape());
shape.getPaint().setShader(test);

SeekBar seekBarFont = (SeekBar)findViewById(R.id.seekbar_font);
seekBarFont.setProgressDrawable( (Drawable)shape );

这是当前代码的图像 SeekBar Color Gradient

关于android - 如何在 SeekBar 中制作颜色渐变?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4342757/

相关文章:

css - 下图需要渐变 CSS

java - return 语句后切换默认执行

android - 更新支持库后 RecyclerView 无法工作

android - 当网络关闭并重新打开时,FFmpegMediaPlayer 停止

c# - 如何随机选择一种已知的控制台颜色作为文本?

java - 缓冲图像颜色饱和度

string - 将十六进制字符串解析为图像/颜色

android - 如何在 "X"和 "Y"方向移动对象

css - CSS 渐变中出现轻微的实线?渐变不平滑

android - 如何更好地控制渐变