1

У меня есть recyclerview, который отображает некоторый элемент, в котором может быть или нет изображение. Для отображения этой картинки по соображениям производительности я использую метод this.RecyclerView.Adapter и ImageView.getWidth()

Я использую его внутри public void onViewAttachedToWindow(final ViewHolder holder), но я все еще получаю 0 как ширину и высоту моего ImageView.

Итак, когда следует отображать изображение?

+0

что вам нужно ImageView.getWidth() для? – pskink

+0

Чтобы масштабировать растровое изображение, я хочу отобразить. в ссылке, которую я разместил, вы можете прочитать метод – andrew

+1

, но какой размер он имел бы, если бы вы не установили отображение Bitmap? – pskink

ответ

2

Вы можете прикрепить PreDrawListener на ViewTreeObserver, выполнив что-то вроде mImageView.getViewTreeObserver().addOnPreDrawListener(...).

Когда этот метод вызывается, вы можете получить доступ к ширине или высоте представления. Не забудьте удалить слушателя после его увольнения: mImageView.getViewTreeObserver().removeOnPreDrawListener(this) от вашего слушателя.

PS: извините, я не могу получить доступ к IDE прямо сейчас, так что я, возможно, сделал несколько опечаток;)

+0

Работает как очарование. Спасибо :) – andrew