Я новичок в разработке Android, просто прочитал документы и попробовал API . Я не понимаю, как ImageView удалось сделать только часть его содержимого после вызова invalidate (Rect).Как ImageView просто перерисовывает часть своего содержимого при вызове invalidate (Rect)?
Я проверил ImageView.java, не нашел другого способа рисования кроме OnDraw (Canvas), но OnDraw (Canvas) только вырезать Drawable только если это примеры запросов видимой границы представления. Я также прочитал реализацию View.invalidate (Rect), я думаю, что ключ этой функции вызывает mParent.invalidateChild (this, r); Тем не менее, я думаю, что родительский вид не знает, как нарисовать ребенка в данным Rect, он, наконец, должен вызвать некоторый метод его дочернего на краской.
Кто-нибудь исследовал эту часть кодов? Не могли бы вы дать мне какой-нибудь путеводитель?
-1 как обе ссылки теперь мертвы. В том числе некоторые из их содержания здесь были бы лучше. –
+1 потому что ссылки не мертвы ... Я только что их протестировал. Тем не менее, я согласен с тем, что добавление контента - это хорошо, что нужно делать в подобных случаях. – Justin