Линейно-градиентный центр анимации

Я хочу анимировать центр линейного градиента, чтобы в начале весь рисованный объект был color1, а в конце весь рисованный объект - color2, а между центрами градиент перемещался слева направо.

GradientDrawable gd = new GradientDrawable(
                              GradientDrawable.Orientation.LEFT_RIGHT,
                              new int[] {color1, color2});
gd.setCornerRadius(0f);
gd.setGradientCenter(x, 0);
view.setBackgroundDrawable(gd);

Проблема в том, что setGradientCenter нене имеет значения. Согласно этому ответуhttps://stackoverflow.com/a/14383974/1395697 есть проблема с setGradientCenter (), но решение в этом ответе неэто не работает для меня, потому что я изменяю градиент в onTouch (), когда пользователь проводит пальцем по виду, поэтому он должен быть очень быстрым.

Есть ли способ сделать это?

Я хочу сделать что-то вроде этого (все сенсорные элементы работают отлично, но не анимированный градиент):

Ответы на вопрос(2)

Ваш ответ на вопрос