Градиент Android можно рисовать программно
У меня есть градиент рисования, определенный в XML, который я использую в качестве фона, например:
Мне нужно реализовать это программно. Я попытался использовать GradientDrawable следующим образом (этот метод реализован в пользовательском представлении):
int[] colors1 = {getResources().getColor(R.color.black), getResources().getColor(R.color.trasparent_black)};
GradientDrawable shadow = new GradientDrawable(Orientation.TOP_BOTTOM, colors1);
shadow.setBounds(0,98, 0, 0);
int[] colors = new int[2];
colors[0] = getResources().getColor(R.color.blue);
colors[1] = getResources().getColor(R.color.dark_blue);
GradientDrawable backColor = new GradientDrawable(Orientation.TOP_BOTTOM, colors);
backColor.setBounds(0, 0,0, 4);
//finally create a layer list and set them as background.
Drawable[] layers = new Drawable[2];
layers[0] = backColor;
layers[1] = shadow;
LayerDrawable layerList = new LayerDrawable(layers);
setBackgroundDrawable(layerList);
Проблема в том, что кажется, что установка границ бесполезна или неработает так же, как (параметры android: top, android: bottom xml). Получающийся фон - каждый слой, нарисованный сверху вниз, один над другим.
Я хочу создать что-то вроде этого:IMG http://i49.tinypic.com/2nueqf.png