Android 如何使SeekBar在不同位置改变颜色?

Android 如何使SeekBar在不同位置改变颜色?,android,xml,seekbar,android-seekbar,Android,Xml,Seekbar,Android Seekbar,我需要使SeekBar具有3个位置,每个位置都会改变颜色,绿色、黄色和红色。目前,我还处于代码的开始阶段 <SeekBar android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:layout_marginRight="10dp" android:max="3"/> [颜色]好的,我想它应该对你有帮助

我需要使SeekBar具有3个位置,每个位置都会改变颜色,绿色、黄色和红色。目前,我还处于代码的开始阶段

<SeekBar
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:layout_marginRight="10dp"
    android:max="3"/>


[颜色]

好的,我想它应该对你有帮助。我在
colors.xml中创建了:

<resources>
<color name="colorPrimary">#3F51B5</color>
<color name="colorPrimaryDark">#303F9F</color>
<color name="colorAccent">#FF4081</color>
<color name="colorGreen">#32CD32</color>
<color name="colorYellow">#D9D919</color>
<color name="colorRed">#cc0000</color>

这也很好,也很有效,我可能会用这个,但你认为seekbar上的指针可以改变颜色,而不是seekbar上的进度线吗?是的,我认为可以改变,但我不确定怎么做,因为我从来没有这样做过。我知道,在xml中,你可以通过android设置:thumbTint=“@color/colorRed”。不幸的是,我不知道如何在java中制作像seek bar这样的颜色变换器。
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    seekBar = findViewById(R.id.seekBar);
    seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
        @Override
        public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
            if(progress == 2) seekBar.setProgressDrawable(getDrawable(R.color.colorYellow));
            if(progress == 3) seekBar.setProgressDrawable(getDrawable(R.color.colorRed));


        }

        @Override
        public void onStartTrackingTouch(SeekBar seekBar) {

        }

        @Override
        public void onStopTrackingTouch(SeekBar seekBar) {

        }
    });
}