Как заставить SeekBar менять цвета на разных позициях? - PullRequest
0 голосов
/ 10 мая 2018

Мне нужно сделать SeekBar с 3 позициями, которые будут менять цвет на каждом из них, зеленый, желтый и красный. На данный момент я все еще в начале кода

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

SeekBar [цвет]

1 Ответ

0 голосов
/ 11 мая 2018

Хорошо, я думаю, это должно вам помочь. Я создал в 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>

и в MainActivity.java я сделал:

@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) {

        }
    });
}
...