Страница 1 из 1

Урок 162. Графика. Drawable. Shape, Gradient.

Добавлено: 18 ноя 2014, 05:00
damager82
В этом уроке:
- изучаем drawable-тег shape


Click here to read this article!

Re: Урок 162. Графика. Drawable. Shape, Gradient.

Добавлено: 12 дек 2014, 14:45
Nyashka
Пытаюсь программно нарисовать радиальный градиент, но выводится только круг нарисованный крайним цветом. Код:

Код: Выделить всё

	gradient = new GradientDrawable(GradientDrawable.Orientation.BL_TR, new int [] {
					Color.rgb(255, 255, 255) , 
					Color.rgb(0, 0, 255), 
					Color.rgb(255, 0, 127)
					});
	gradient.setShape(GradientDrawable.OVAL);
	gradient.setGradientType(GradientDrawable.RADIAL_GRADIENT);
	gradient.setGradientRadius(40);
	gradient.setAlpha(127);
	gradient.setGradientCenter(250, 250);
вызов:

Код: Выделить всё

	gradient.setBounds(250 - 20, 250 - 20, 250 + 20, 250 + 20);
	gradient.draw(canvas);
Подобный градиент линейного типа рисуется именно как градиент, причем даже с переходом в прозрачность, к чему я и стремлюсь. Но радиальный почему то рисуется только одним цветом. В чем загвоздка?

Re: Урок 162. Графика. Drawable. Shape, Gradient.

Добавлено: 09 янв 2015, 23:39
EvilAngel
На счёт возможности задания различных радиусов в <corner> - Вы забыли упомянуть, что не для всех версий Android данное действо будет иметь эффект, а лишь для API Level >= 12.

Re: Урок 162. Графика. Drawable. Shape, Gradient.

Добавлено: 26 фев 2015, 10:16
Levon
Подскажите пожалуйста,как нарисовать градиентный stroke. Т.е. нужна круглая рамка вокруг текста с градиентной заливкой. Спасибо.

Re: Урок 162. Графика. Drawable. Shape, Gradient.

Добавлено: 02 мар 2015, 17:02
zealot01
Nyashka писал(а):Пытаюсь программно нарисовать радиальный градиент, но выводится только круг нарисованный крайним цветом. Код:

Код: Выделить всё

	gradient = new GradientDrawable(GradientDrawable.Orientation.BL_TR, new int [] {
					Color.rgb(255, 255, 255) , 
					Color.rgb(0, 0, 255), 
					Color.rgb(255, 0, 127)
					});
	gradient.setShape(GradientDrawable.OVAL);
	gradient.setGradientType(GradientDrawable.RADIAL_GRADIENT);
	gradient.setGradientRadius(40);
	gradient.setAlpha(127);
	gradient.setGradientCenter(250, 250);
вызов:

Код: Выделить всё

	gradient.setBounds(250 - 20, 250 - 20, 250 + 20, 250 + 20);
	gradient.draw(canvas);
Подобный градиент линейного типа рисуется именно как градиент, причем даже с переходом в прозрачность, к чему я и стремлюсь. Но радиальный почему то рисуется только одним цветом. В чем загвоздка?
setGradientCenter у тебя зашкален, убери его.

Re: Урок 162. Графика. Drawable. Shape, Gradient.

Добавлено: 05 июн 2015, 02:28
Sasha2dx
Сделал повторяющуюся текстурку для фона:

Код: Выделить всё

<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
    android:src="@drawable/eart_black"
    android:tileMode="repeat"
    />
Но для полного счастья не хватает затенить немного полученное изображение вверху и внизу, не могу понять как это сделать и реально ли это вообще? :geek: Вот пример что я хочу:
Изображение

Re: Урок 162. Графика. Drawable. Shape, Gradient.

Добавлено: 05 июн 2015, 07:31
klblk
Sasha2dx писал(а):Но для полного счастья не хватает затенить немного полученное изображение вверху и внизу, не могу понять как это сделать и реально ли это вообще? :geek: Вот пример что я хочу
Думаю стоит смотреть в сторону LayerList
http://stackoverflow.com/questions/1044 ... d-gradient