Размер картинки в ListView
Размер картинки в ListView
Камера делает фото и сохраняет картинки в отдельную папку, примерные размеры фоток больше 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 получают разный размер, но зато масштабируются )))
Как быть? Т.е. - как разноразмерные картинки засунуть в список, ограничив их размер, но оставив возможность масштаба?
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
нужно не пиксельное px значение, а dp
например у меня есть листвью и адаптер от BaseAdapter унаследован, там инфлэйтится ИмэджВьюха со значениями 300dp x 260dp, gravity center_crop, отображается на всех экранах одинаково. px вообще не используй никогда нафиг =)
а вобще вот http://developer.android.com/guide/prac ... pport.html
например у меня есть листвью и адаптер от BaseAdapter унаследован, там инфлэйтится ИмэджВьюха со значениями 300dp x 260dp, gravity center_crop, отображается на всех экранах одинаково. px вообще не используй никогда нафиг =)
а вобще вот http://developer.android.com/guide/prac ... pport.html
CEO of a company R.id.team
Re: Размер картинки в ListView
а размер ты в каком месте кода задаешь? В xml или когда адаптер прописываешь? Если в адаптере, то можешь выдернуть кусок с этим кодом сюда?
Re: Размер картинки в ListView
в xml, в адаптере просто ViewHolder и асинхронная загрузка картинки с LruCache, при скроле загрузка на паузу) картинка с FadeIn эффектом появляется только когда лист не скролится. Не имеет значения сколько айтемов в листе, хоть 100500, скролл будет всегда гладким и без лагов, на всех версиях андроид.
CEO of a company R.id.team
Re: Размер картинки в ListView
ну вот я выставлял 50dp в xml...но нифига...так и остался он своими 50 в экране 1200 ))
Re: Размер картинки в ListView
для разных размеров экранов разные разрешения задавай, папок values то много =)powercat писал(а):ну вот я выставлял 50dp в xml...но нифига...так и остался он своими 50 в экране 1200 ))
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: Размер картинки в ListView
)))
Только у меня фотки, а не заранее заданные картинки, раскиданные по папкам )))
Или ты предлагаешь, сохранить из исходной фотки другие с разными размерами, и распихать их по папкам? А это возможно?
Только у меня фотки, а не заранее заданные картинки, раскиданные по папкам )))
Или ты предлагаешь, сохранить из исходной фотки другие с разными размерами, и распихать их по папкам? А это возможно?
Re: Размер картинки в ListView
Нет, я имею в виду что когда ты задаешь бекграунд imageview то потом указываешь ему размеры из dimension'a R.dimen.photo_width и R.dimen.photo_height. При этом в дименсионы раскидать в зависимости от размеров экранов в папки values. Ну и не забудь же про fitxy что бы по центру ресайзило.
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: Размер картинки в ListView
о..интересный подход, картнику в имеджвью задавать не картинкой, а фоном...да, надо так попробовать....rezak90 писал(а):Нет, я имею в виду что когда ты задаешь бекграунд imageview то потом указываешь ему размеры из dimension'a R.dimen.photo_width и R.dimen.photo_height. При этом в дименсионы раскидать в зависимости от размеров экранов в папки values. Ну и не забудь же про fitxy что бы по центру ресайзило.
Re: Размер картинки в ListView
Вроде dp помогает и растягивается )Finch писал(а):http://developer.android.com/guide/prac ... pport.html
Re: Размер картинки в ListView
если не указывать для них values то будет брать по дефолту с mdpi или hdpi если не ошибаюсьFinch писал(а):а как ведет себя на sw600dp и sw720dp???
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: Размер картинки в ListView
ну это понятно, просто картинка может выглядеть не ок) я имел ввиду эстэтику)
CEO of a company R.id.team