Как ThumbDrawable работает в SeekBar?
Я не могу понять, почему при установке thumbDrawable с использованием следующего метода seekBar.setThumb (new CustomDrawable), когда я переопределяю метод рисования, холст (0 , 0) координаторы не размещаются в соответствии со значением прогресса SeekBar (где-то в ProgressDrawable), а вместо этого размещаются в верхнем левом месте (намного выше ProgressDrawable).
Почему при использовании seekBar.setThumb (getContext () .getResource (). getDrawable (R.drawable.someXmlDrawable), someXmlDrawble (xml файл) рисует точно на ProgressDrawable , учитывая значение прогресса, но когда я добавляю возможность рисования программно, координаты холста не помещаются в ProgressDrawable в нужное место (с учетом значения прогресса).
Пример кода (добавление программного рисования):
SeekBar seekBar = findViewById(R.id.seek_bar);
seekBar.setThumb(new Drawable() {
@Override
public void draw(@NonNull Canvas canvas) {
}
@Override
public void setAlpha(int alpha) {
}
@Override
public void setColorFilter(@Nullable ColorFilter colorFilter) {
}
@Override
public int getOpacity() {
return 0;
}
});
Пример кода (добавление Drawable из XML):
seekBar.setThumb(new Drawable(R.drawable.someXmlDrawable);