Урок 166. Графика. Создание своего Drawable

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

Урок 166. Графика. Создание своего Drawable

Сообщение damager82 » 07 сен 2015, 06:00

На этом уроке:
- создаем Drawable


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

Аватара пользователя
elron
Сообщения: 31
Зарегистрирован: 14 окт 2012, 13:29

Re: Урок 166. Графика. Создание своего Drawable

Сообщение elron » 01 сен 2016, 13:03

Привет. В каких случаях нужно наследоваться от Drawable а в каких от View ? В чём отличие ?

Rolik
Сообщения: 14
Зарегистрирован: 05 апр 2021, 06:42

Re: Урок 166. Графика. Создание своего Drawable

Сообщение Rolik » 05 окт 2021, 08:44

setBackgroundDrawable() deprecated в API 16.
Вместо него setBackground().

Последний пример не работает из за ошибки в строке:

getPaint().setShader(shader);

Проще не создавать еще один класс расширения, а дополнить логику HexagonDrawable методом:

public BitmapHexagon(Bitmap bitmap) {
originBitmap = bitmap;
}

и метод строками:

protected void onBoundsChange(Rect bounds) {
Bitmap bitmap = Bitmap.createScaledBitmap(originBitmap, bounds.width(), bounds.height(), true);
BitmapShader shader = new BitmapShader(bitmap, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP);
paint.setShader(shader);
}

Ответить