Создавать радиальный градиент программно

Я пытаюсь воспроизвести следующий градиент программным путем.

<shape xmlns:android="http://schemas.android.com/apk/res/android"> <gradient android:startColor="@color/startcolor" android:centerColor="#343434" android:endColor="#00000000" android:type="radial" android:gradientRadius="140" android:centerY="45%" /> <corners android:radius="0dp" /> </shape> 

Как я могу программно программировать paramether? благодаря

  android:centerY="45%" 

Solutions Collecting From Web of "Создавать радиальный градиент программно"

http://developer.android.com/reference/android/graphics/drawable/GradientDrawable.html

Чтобы установить этот конкретный параметр (я принимаю значение centerX, поскольку вы не указали его):

 yourGradientDrawable.setGradientCenter(1.0f, 0.45f); 

Поэтому для создания вышеуказанного градиента (за исключением разных цветов) программно:

 GradientDrawable g = new GradientDrawable(Orientation.TL_BR, new int[] { getResources().getColor(R.color.startcolor), Color.rgb(255, 0, 0), Color.BLUE }); g.setGradientType(GradientDrawable.RADIAL_GRADIENT); g.setGradientRadius(140.0f); g.setGradientCenter(0.0f, 0.45f); 

Примечание. Ориентация игнорируется для радиального градиента, но необходима для конструктора, который принимает цвета.