【问题标题】:Change thumb color from a seekbar从搜索栏更改拇指颜色
【发布时间】:2014-02-02 17:35:51
【问题描述】:

我有一个搜索栏,我正在尝试更改拇指颜色。我找到了两张描述我真正想做的事情的照片。 我有这个搜索栏(默认):

我正在尝试改变它的颜色拇指像 this.. : (我知道如何更改背景进度颜色,但不知道拇指颜色)..

seekBar1calling.getProgressDrawable().setColorFilter(Color.WHITE, Mode.SRC_IN);

有没有办法使用java代码来实现这一点?提前致谢!!

【问题讨论】:

    标签: android slider seekbar


    【解决方案1】:

    我刚刚使用了一个在线样式生成器,它给了我我需要的东西

    http://android-holo-colors.com/

    只需选择您想要的小部件和颜色即可! ;)

    【讨论】:

    • 这个网站很棒。非常感谢。
    • 此链接已损坏。
    【解决方案2】:

    只需使用:

    mySeekbar.getThumb().setColorFilter(myColor, PorterDuff.Mode.MULTIPLY);
    

    编辑:方法 getThumb 仅在 API 16+ (Jelly Bean) 后可用。

    【讨论】:

    【解决方案3】:

    其他答案很旧,对我不起作用,但确实如此。

    seekbar.setThumbTintList(ContextCompat.getColorStateList(this, R.color.disabled));
    

    【讨论】:

      【解决方案4】:

      这是一个快速简便的解决方案,对我来说按预期工作。只需在初始化搜索栏后执行此代码即可避免 NPE。

      您必须在 res/values/colors.xml

      下定义颜色本身
      int blue = ContextCompat.getColor(context, R.color.seekbar_blue);
      filterSeekBar.getThumb().setColorFilter(blue, PorterDuff.Mode.SRC_ATOP);
      filterSeekBar.getProgressDrawable().setColorFilter(blue, PorterDuff.Mode.SRC_ATOP);
      

      就是这样!

      注意: Progress-Background 的颜色没有Button / Thumb 本身那么深。 如果您想了解有关 PorfuerDuff 部分的更多信息,请在 Stackoverflow 上查看此答案: Phasmal & Lee's answer to PorfuerDuff modes

      【讨论】:

        猜你喜欢
        • 2012-03-30
        • 1970-01-01
        • 2023-04-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-05-27
        • 2012-05-18
        • 1970-01-01
        相关资源
        最近更新 更多