Программный код Gradient для Android

У меня есть градиент drawable, определенный в xml, который я использую в качестве фона, например:

<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:bottom="4dp"> <shape> <gradient android:startColor="@color/blue" android:endColor="@color/dark_blue" android:angle="270" /> </shape> </item> <item android:top="98dp"> <shape> <gradient android:startColor="@color/black" android:endColor="@color/transparent_black" android:angle="270" /> </shape> </item> </layer-list> 

Мне нужно реализовать это программно. Я попытался использовать 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

Нашел ответ !. Возможные повторяющиеся многоградиентные фигуры .

Заменены:

 backColor.setBounds(0, 0,0, 4); shadow.setBounds(0,98, 0, 0); 

для

 layerList.setLayerInset(0, 0, 0, 0, 4); layerList.setLayerInset(1, 0, 98, 0, 0); 
Intereting Posts
HTML-перенаправление на пользовательский протокол только при поддержке Android-приложения Mupdf Создать миниатюру Каков порядок вызова oncreateoptionsmenu () в жизненном цикле активности Android? Показать программную клавиатуру android в графическом макете eclipse Разрешения для диспетчера местоположений Android, которые будут использоваться Функции камеры Android не работают на нескольких телефонах Удаление студии Android: исключение null-указателя Ни пользователь 10056, ни текущий процесс не имеют android.permission.MODIFY_PHONE_STATE Ярлыки приложений Android GraphView Realtime Кнопка появляется в API API 19, но не API 17 Android – как избежать чрезмерной загрузки памяти с помощью растровых изображений? Каковы различия между setFilterQueryProvider () и runQueryOnBackgroundThread () в CursorAdapter? Значение хеш-карты Google Maps не принимается (конвертировать SHA1 в MD5?) Как показать тост в AsyncTask в android Текстура OpenGL не соответствует геометрии