#java #android #xml #imageview
#java #Android #xml #просмотр изображения
Вопрос:
Я использую Android Studio и создал ImageView в activity_mail.xml . Ширина и высота макета установлены в «match_parent». Для scaleType установлено значение «center», а исходное изображение имеет размер 70×70 пикселей. Когда я запускаю приложение в эмуляторе, на экране появляется изображение размером более 70×70 пикселей. Я имею в виду, что он занимает более 70×70 пикселей на экране телефона. Я не знаю, почему он это делает. Приложение работает исключительно в ландшафтном режиме, что может иметь значение. Простите меня, если я включил посторонние детали, я действительно не знаю, какую информацию было бы уместно включить. Я намерен сделать так, чтобы изображение занимало 70×70 пикселей на экране телефона. Что вызывает непреднамеренный результат и как я могу это исправить?
Комментарии:
1. Добро пожаловать в SO 🙂 Людям будет проще помочь вам, если вы предоставите минимальный пример кода для воспроизведения проблемы, а также версию Android и тип телефона, который вы используете. Это также имеет приятный побочный эффект, заключающийся в том, что, создавая минимальную версию вашей проблемы, вы ограничиваете возможные источники ошибки и, возможно, даже решаете ее 🙂
Ответ №1:
изменение ScaleType
, возможно fit_center
, вместо просто center
android:adjustViewBounds="true”
будет соответствовать вашим целям… другой способ — создать ImageView
с wrap_content
размерами, помещенными в некоторый контейнер (например, RelativeLayout
) с match_parent
размерами
также проверьте это визуальное руководство на ScaleType
обратите внимание, что изображение с разрешением 70 пикселей будет большим на устройствах с разрешением HD и значительно меньшим на устройствах, например, с разрешением Full HD. у вас должно быть несколько версий вашего изображения в соответствующих сегментах плотности ( mdpi
, hdpi
и т.д.) Или просто загрузите нужный размер, если ваше изображение получено из какого-либо API, чтобы тогда вы могли сказать, что у вас есть изображение с 70dp
размером, а не 70px