Урок 162. Графика. Drawable. Shape, Gradient.
Урок 162. Графика. Drawable. Shape, Gradient.
В этом уроке:
- изучаем drawable-тег shape
Click here to read this article!
- изучаем drawable-тег shape
Click here to read this article!
Последний раз редактировалось damager82 06 июн 2017, 00:52, всего редактировалось 4 раза.
Re: Урок 162. Графика. Drawable. Shape, Gradient.
Пытаюсь программно нарисовать радиальный градиент, но выводится только круг нарисованный крайним цветом. Код:
вызов:
Подобный градиент линейного типа рисуется именно как градиент, причем даже с переходом в прозрачность, к чему я и стремлюсь. Но радиальный почему то рисуется только одним цветом. В чем загвоздка?
Код: Выделить всё
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.
На счёт возможности задания различных радиусов в <corner> - Вы забыли упомянуть, что не для всех версий Android данное действо будет иметь эффект, а лишь для API Level >= 12.
Re: Урок 162. Графика. Drawable. Shape, Gradient.
Подскажите пожалуйста,как нарисовать градиентный stroke. Т.е. нужна круглая рамка вокруг текста с градиентной заливкой. Спасибо.
Re: Урок 162. Графика. Drawable. Shape, Gradient.
setGradientCenter у тебя зашкален, убери его.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.
Сделал повторяющуюся текстурку для фона:
Но для полного счастья не хватает затенить немного полученное изображение вверху и внизу, не могу понять как это сделать и реально ли это вообще? Вот пример что я хочу:
Код: Выделить всё
<?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"
/>
Re: Урок 162. Графика. Drawable. Shape, Gradient.
Думаю стоит смотреть в сторону LayerListSasha2dx писал(а):Но для полного счастья не хватает затенить немного полученное изображение вверху и внизу, не могу понять как это сделать и реально ли это вообще? Вот пример что я хочу
http://stackoverflow.com/questions/1044 ... d-gradient