2010-09-23 2 views
1

В моем приложении используются миниатюры, загруженные из Интернета. Эскизы генерируются сервером, а в запросе указывается, какой размер должен быть миниатюрами. Есть ли способ познакомиться с программным обеспечением, в то время как внутри getView() в ListAdapter, размеры ImageView внутри возвращаемого представления, поэтому мой эскиз отлично масштабируется? Я всегда могу сделать это жестко, но я бы предпочел не делать этого.Android: Знаете заранее, какой размер будет ImageView?

В качестве альтернативы, есть ли какой-то прослушиватель или обратный вызов, который я могу использовать, чтобы запросить большой палец после того, как View был выложен?

EDIT: ImageViews имеют фиксированные layout_height и layout_width, однако я бы хотел повторно использовать один и тот же код для разных частей приложения, которые используют изображения разных размеров, поэтому жесткое кодирование особенно плохое.

ответ

0

Вы не будете знать размеры на этапе строительства ImageView в getView. (очевидно, convertViews разные).

Я получил вокруг этого путем создания подкласса ImageView, который реализует метод View.OnLayoutChangeListener onLayoutChanged и инициирует загрузку изображения через наш Resizer прокси (и через локальную кэшу). Является ли это самым элегантным способом, я не знаю, но он работает. Все это кажется уродливым по сравнению с iOS!

Смотрите также:

Android: Finding size (resolution-wise) of a GalleryView.