Я пытаюсь написать анимированный Drawable
на основе класса ShapeDrawable
с использованием определенного класса Shape
для рисования его содержимого.Android анимированный ShapeDrawable
По требованию необходимо изменить некоторые значения в классе Shape
, и его следует изменить из-за этих значений (что-то вроде изменения температуры в каком-либо масштабе). Вся вещь написана для Android 2.1. Я нашел, что звонок invalidateSelf()
для моего ShapeDrawable
должен быть хорошим, но я должен предоставить Drawable.Callback
для этого.
И вопрос в том, что должно быть предусмотрено в invalidateDrawable(Drawable who)
метод для интерфейса Drawable.Callback
? Некоторые образцы, использующие такой подход:
class MyShapeDrawable extends ShapeDrawable implements Drawable.Callback
{
public void invalidateDrawable(Drawable who) {
}
public void scheduleDrawable(Drawable who, Runnable what, long when) {
}
public void unscheduleDrawable(Drawable who, Runnable what) {
}
}
Когда я называю invalidateSelf()
для моего метода, основанного ShapeDrawable
класса invalidateDrawable()
называется, но то, что должно быть сделано в этом методе? Как заставить мой Shape
обновляться и перерисовываться?
пожалуйста, объясните свой ответ более подробно. –