【问题标题】:Android Seekbar ThumbAndroid 搜索栏拇指
【发布时间】:2018-03-27 06:02:06
【问题描述】:

我有一个搜索栏,我需要在搜索栏的拇指上应用 getTemperatureColor 函数,以便在搜索栏上选择拇指的任何地方从线性渐变中获取颜色,但我不知道这样做.任何帮助将不胜感激。

我有点想它会是这样的

seekbar.getThumb("我需要帮助来应用 getTemperatureColor()");

主要活动

public class MainActivity extends AppCompatActivity {

private SeekBar seekBar = null;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    seekBar = (SeekBar)findViewById(R.id.seekBar);

    final LinearGradient test = new LinearGradient(0.f, 0.f, 200.f, 380.f, new int[] { 0xFF0000FF, 0xFF00FF00, 0xFFFF0000},
            null, Shader.TileMode.CLAMP);

    RoundRectShape roundRectShape = new RoundRectShape(new float []{30f,30f,30f,30f,30f,30f,30f,30f},null,null);
    shape = new ShapeDrawable(roundRectShape);
    shape.getPaint().setShader(test);

    seekBar.setProgressDrawable((Drawable) shape);
  
   }
    
private int getTemperatureColor(float temperature) {
        //Color range from 0 - 40 degC
        float clipped = Math.max(0f, Math.min(40f, temperature));

        float scaled = ((40f - clipped) / 40f) * 255f;
        int blue = Math.round(scaled);
        int red = 255 - blue;

        return Color.rgb(red, 0, blue);
    }
}

【问题讨论】:

    标签: android android-seekbar


    【解决方案1】:

    有帮助吗?

     seekBar.getThumb().setColorFilter(getTemperatureColor(30), PorterDuff.Mode.ADD);
    

    【讨论】:

    • 先生。鲁本 我已经设置好拇指了。我只需要将名为 getTemperatureColor() 的最后一个函数应用于拇指。
    • 是的,亲爱的,我需要根据温度改变拇指的颜色。