SeekBar onSizeChanged () инициализирует только текущий выбранный фон для рисования и вызывается один раз при инициализации SeekBar.Таким образом, исправление может быть:
public class CorrectedSeekBar extends SeekBar {
public CorrectedSeekBar(Context context) {
super(context);
}
public CorrectedSeekBar(Context context, AttributeSet attrs) {
super(context, attrs);
}
public CorrectedSeekBar(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
boolean current = isIndeterminate();
setIndeterminate(!current);
super.onSizeChanged(w, h, oldw, oldh);
setIndeterminate(current);
super.onSizeChanged(w, h, oldw, oldh);
}
}
И в макете XML используйте <yourpackage.CorrectedSeekBar ...
Это не выглядит красиво, другие обходные пути могут быть возможны, но я думаю, что это главная проблема (ошибка?).