У меня есть ImageView 450px * 450px, он отлично отображается на заметке 3 (1080 * 1920), но когда я запускаю приложение на другом устройстве с меньшим разрешением, ImageView отображается больше, и другое содержимое не помещается на экране. Любое решение для решения этой проблемы? это о единице (px, dp)?ImageView отображает разные выходные данные на разных устройствах разрешения
ответ
Причина в том, что у каждого устройства разные размеры экрана, поэтому вам нужно изменить размер ImageView на основе размера экрана или просто использовать разные размеры изображений для вашего ImageView, которые будут автоматически использоваться в зависимости от размера экрана. Чтобы сделать это, проверить это,
A. Получение размер экрана программно и настройки соответствующего размера в ImageView,
Display display = getWindowManager().getDefaultDisplay();
DisplayMetrics outMetrics = new DisplayMetrics();
display.getMetrics(outMetrics);
float density = getResources().getDisplayMetrics().density;
float dpHeight = outMetrics.heightPixels/density;
float dpWidth = outMetrics.widthPixels/density;
B. Добавление различных размеров изображения для различных экранов,
res/drawable-mdpi/my_icon.png // bitmap for medium density
res/drawable-hdpi/my_icon.png // bitmap for high density
res/drawable-xhdpi/my_icon.png // bitmap for extra high density
Следующий код в манифесте поддерживает все dpis.
<supports-screens android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:xlargeScreens="true"
android:anyDensity="true" />
Ваше разрешение экран представляет, что вы настраиваете высоту ImageView и ширину разрешения xxhdpi устройства и второе, что использование дп для плотности пикселя это покрытие экрана в соответствии с разрешением использования 150dpX150dp для ImageView используйте следующую ссылку для рх to dp conversion http://pixplicity.com/dp-px-converter/
- 1. Почему существуют разные выходные данные на разных устройствах Android?
- 2. Макет, используемый на разных устройствах разрешения
- 3. шифрование openssl дает разные выходные данные на разных машинах.
- 4. Код, производящий разные выходные данные на разных компиляторах
- 5. гироскопа дает разные значения на разных устройствах
- 6. Как использовать разные JS-выходные данные для разных страниц?
- 7. snprintf дает разные выходные данные
- 8. Выходные данные на выходные
- 9. Различные выходные данные Valgrind на разных машинах
- 10. SQL отображает разные данные из одной таблицы в разных строках
- 11. Jenkins - предоставить разные разрешения для разных пользователей
- 12. Различные страницы на разных устройствах
- 13. RSA Шифрование, возвращающее разные выходные данные
- 14. Различные методы конкатенации возвращают разные выходные данные
- 15. Почему следующие запросы имеют разные выходные данные?
- 16. Функция консоли JavaScript, предоставляющая разные выходные данные
- 17. Показаны разные модели на устройствах
- 18. fromNow отображает разные строки в разных браузерах
- 19. Мое приложение показывает разные версии на разных устройствах
- 20. Android audiotrack getMinBufferSize() возвращает разные значения на разных устройствах
- 21. UITableView - показать разные размеры изображений на разных устройствах
- 22. Bootstrap 5 элементов, разные расположения на разных устройствах
- 23. ** Аудиомагнитофон Android * getMaxAmplitude() ** возвращает разные значения на разных устройствах
- 24. OpenGl 2d Повторение текстуры (разные результаты на разных устройствах)
- 25. Различные выходные данные OpenMP в разных машинах
- 26. Расположение студии Android на разных устройствах
- 27. Почему cURL дает разные выходные данные на сервере и localhost?
- 28. Почему str.count ('') и len (str) дают разные выходные данные?
- 29. как предоставить разные разрешения для разных пользователей на одном экземпляре
- 30. Изображение uri не отображает изображения на ImageView на некоторых устройствах Android Android
Вы должны использовать dp, если вы хотите иметь одинаковый физический размер на разных устройствах. – vincentzhou