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

Обсуждение уроков
Ответить
Аватара пользователя
damager82
Администратор
Сообщения: 1383
Зарегистрирован: 07 янв 2012, 11:32
Контактная информация:

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

Сообщение damager82 » 18 ноя 2014, 05:00

В этом уроке:
- изучаем drawable-тег shape


Click here to read this article!
Последний раз редактировалось damager82 06 июн 2017, 00:52, всего редактировалось 4 раза.
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение

Nyashka
Сообщения: 40
Зарегистрирован: 19 мар 2013, 13:06

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

Сообщение Nyashka » 12 дек 2014, 14:45

Пытаюсь программно нарисовать радиальный градиент, но выводится только круг нарисованный крайним цветом. Код:

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

	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);
Подобный градиент линейного типа рисуется именно как градиент, причем даже с переходом в прозрачность, к чему я и стремлюсь. Но радиальный почему то рисуется только одним цветом. В чем загвоздка?

EvilAngel
Сообщения: 28
Зарегистрирован: 16 апр 2013, 23:55

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

Сообщение EvilAngel » 09 янв 2015, 23:39

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

Levon
Сообщения: 1
Зарегистрирован: 26 фев 2015, 10:14

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

Сообщение Levon » 26 фев 2015, 10:16

Подскажите пожалуйста,как нарисовать градиентный stroke. Т.е. нужна круглая рамка вокруг текста с градиентной заливкой. Спасибо.

zealot01
Сообщения: 2
Зарегистрирован: 03 ноя 2013, 15:05

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

Сообщение zealot01 » 02 мар 2015, 17:02

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 у тебя зашкален, убери его.

Sasha2dx
Сообщения: 51
Зарегистрирован: 10 апр 2015, 23:24

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

Сообщение Sasha2dx » 05 июн 2015, 02:28

Сделал повторяющуюся текстурку для фона:

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

<?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: Вот пример что я хочу:
Изображение

Аватара пользователя
klblk
Сообщения: 1097
Зарегистрирован: 18 окт 2012, 11:17
Откуда: г. Красноярск

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

Сообщение klblk » 05 июн 2015, 07:31

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


Ответить