Я не могу заставить свой ImageView отображать исходное изображение в исходном размере. ImageView выглядит следующим образом:Android: ImageView масштабирует исходное изображение
<ImageView
android:id="@+id/Logo"
android:src="@drawable/logo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
</ImageView>
исходного изображения составляет 140 пикселей в ширину, но на экране Nexus One, который составляет 480 пикселей в ширину он использует половину ширины. Использование абсолютных значений в px или dp для ширины и высоты ничего не меняет. Изображение также выглядит очень сглаженным от масштабирования. Почему это происходит и как я могу это предотвратить?
Я просто попробовал ваше предложение, и это определенно имеет какое-то отношение к этому. Большое спасибо! Теперь изображение имеет «правильный» размер, если я использую размеры изображения как абсолютные значения пикселей для layout_width и layout_height. Если я использую wrap_content, изображение по-прежнему будет таким же большим, как и раньше, что, как кажется, также имеет тот же размер, что и при использовании размеров изображения с «dp» в качестве измерения. Я думаю, это как раз то, как работает wrap_content. В этом случае было бы разумно, что изображение будет отображаться слишком большим на устройстве с экраном с высокой плотностью, таким как Nexus. –
Что еще странно, если я использую wrap_content для layout_width и layout_height, но использую абсолютные значения пикселей для maxWidth и maxHeight, которые не оказывают никакого эффекта. Поскольку использование пиксельных измерений не рекомендуется, так или иначе, я задаюсь вопросом, существуют ли какие-либо другие способы предотвращения перескакивания изображения? –
Возможно, вы все равно хотите две версии вашего изображения: одну для экранов средней плотности и одну для экранов с высокой плотностью. Попробуйте поместить изображение в 'res/drawable-hdpi /' и посмотреть, поможет ли это. – CommonsWare