Страница 1 из 1

Размер картинки в ListView

Добавлено: 06 фев 2013, 23:58
powercat
Камера делает фото и сохраняет картинки в отдельную папку, примерные размеры фоток больше 1000 пикселей по сторонам.

Item ListView инфлейтится из ImageView и TextView. Данные в них берутся из базы, в которой хранится текст для TextView и путь к файлу для ImageView. Подается через массивы from, to.

Используется свой SimpleCursorAdapter, свой, т.к. в TextView я задаю кастомный шрифт.

Вся эта конструкция отлично работает. При этом размеры ImageView меня не устраивают. Я выставляю в xml-ке (котороя инфлейтится), в которой сидят эти элементы для ImageView оба wrap_contentа, и оно пытается занять весь экран, что логично, т.к. картинка в него вписывается (я задал scaleType=fitCenter). Собственно, то, что картинка вписывается, мне нравится, ибо когда я задаю ImageView не оба wrap_contentа, а жесткие значения, например 50пикс*50пикс, то ImageView уменьшается, но картинка остается вписанной и нормально отображается.

Проблема в том, что я не могу задать НЕ пиксельное значение для ImageView, чтобы оно было для любой картинки одинаково, при этом большим для больших экранов и маленьким - для маленьких.
Задание жесткого значения - отлично, но не увеличивается для больших экранов, а так и остается пятнышком ))) Задание без жесткого значения - все картинки разные, и все ImageView получают разный размер, но зато масштабируются )))

Как быть? Т.е. - как разноразмерные картинки засунуть в список, ограничив их размер, но оставив возможность масштаба?

Re: Размер картинки в ListView

Добавлено: 07 фев 2013, 00:08
Finch
нужно не пиксельное px значение, а dp
например у меня есть листвью и адаптер от BaseAdapter унаследован, там инфлэйтится ИмэджВьюха со значениями 300dp x 260dp, gravity center_crop, отображается на всех экранах одинаково. px вообще не используй никогда нафиг =)

а вобще вот http://developer.android.com/guide/prac ... pport.html

Re: Размер картинки в ListView

Добавлено: 07 фев 2013, 09:00
powercat
а размер ты в каком месте кода задаешь? В xml или когда адаптер прописываешь? Если в адаптере, то можешь выдернуть кусок с этим кодом сюда?

Re: Размер картинки в ListView

Добавлено: 07 фев 2013, 14:42
Finch
в xml, в адаптере просто ViewHolder и асинхронная загрузка картинки с LruCache, при скроле загрузка на паузу) картинка с FadeIn эффектом появляется только когда лист не скролится. Не имеет значения сколько айтемов в листе, хоть 100500, скролл будет всегда гладким и без лагов, на всех версиях андроид.

Re: Размер картинки в ListView

Добавлено: 07 фев 2013, 14:52
powercat
ну вот я выставлял 50dp в xml...но нифига...так и остался он своими 50 в экране 1200 ))

Re: Размер картинки в ListView

Добавлено: 07 фев 2013, 16:43
Finch
scale type fitxy

Re: Размер картинки в ListView

Добавлено: 07 фев 2013, 21:31
rezak90
powercat писал(а):ну вот я выставлял 50dp в xml...но нифига...так и остался он своими 50 в экране 1200 ))
для разных размеров экранов разные разрешения задавай, папок values то много =)

Re: Размер картинки в ListView

Добавлено: 07 фев 2013, 21:49
powercat
)))
Только у меня фотки, а не заранее заданные картинки, раскиданные по папкам )))
Или ты предлагаешь, сохранить из исходной фотки другие с разными размерами, и распихать их по папкам? А это возможно?

Re: Размер картинки в ListView

Добавлено: 07 фев 2013, 23:00
rezak90
Нет, я имею в виду что когда ты задаешь бекграунд imageview то потом указываешь ему размеры из dimension'a R.dimen.photo_width и R.dimen.photo_height. При этом в дименсионы раскидать в зависимости от размеров экранов в папки values. Ну и не забудь же про fitxy что бы по центру ресайзило.

Re: Размер картинки в ListView

Добавлено: 08 фев 2013, 01:52
Finch

Re: Размер картинки в ListView

Добавлено: 08 фев 2013, 08:35
powercat
rezak90 писал(а):Нет, я имею в виду что когда ты задаешь бекграунд imageview то потом указываешь ему размеры из dimension'a R.dimen.photo_width и R.dimen.photo_height. При этом в дименсионы раскидать в зависимости от размеров экранов в папки values. Ну и не забудь же про fitxy что бы по центру ресайзило.
о..интересный подход, картнику в имеджвью задавать не картинкой, а фоном...да, надо так попробовать....

Re: Размер картинки в ListView

Добавлено: 08 фев 2013, 08:35
powercat
Вроде dp помогает и растягивается )

Re: Размер картинки в ListView

Добавлено: 08 фев 2013, 14:57
Finch
а как ведет себя на sw600dp и sw720dp???

Re: Размер картинки в ListView

Добавлено: 08 фев 2013, 15:16
rezak90
Finch писал(а):а как ведет себя на sw600dp и sw720dp???
если не указывать для них values то будет брать по дефолту с mdpi или hdpi если не ошибаюсь

Re: Размер картинки в ListView

Добавлено: 08 фев 2013, 15:40
Finch
ну это понятно, просто картинка может выглядеть не ок) я имел ввиду эстэтику)