У меня возникла проблема с заполнением ShapeDrawable
, содержащим пользовательский PathShape
с использованием метода drawable's setShaderFactory()
. Следующий код работает отлично при рисовании RectShape
:Как заполнить ShapeDrawable (содержащий PathShape) с градиентом
ShapeDrawable shape = new ShapeDrawable();
shape.setShape(new RectShape());
shape.setShaderFactory(new ShaderFactory() {
@Override
public Shader resize(int width, int height) {
LinearGradient gradient = new LinearGradient (0, 0,
width, height, Color.Red, Color.Blue,
TileMode.REPEAT);
return gradient;
}
});
Когда я изменить RectShape
к любому обычаю PathShape
, однако, рисует заполняет всю форму с начальным градиентом цвета (красным) только. Другими словами, пользовательские фигуры рисуются правильно, но цвет совершенно неправильный. Кто-нибудь видел это раньше и знал, что может быть проблемой?