На Android можно рисовать только изображение на один дюйм - PullRequest
0 голосов
/ 17 апреля 2019

Если у меня есть изображение только для xhdpi, и я не хочу создавать масштабированные изображения, я хочу, чтобы Android автоматически уменьшал масштаб, когда плотность экрана ниже xhdpi, и увеличивал масштаб, когда плотность экрана выше xhdpi.Как мне этого добиться?

Я попытался создать папку drawable-xhdpi и поместить в нее изображение.Однако в редакторе макетов изображение не отображается, после того как я изменил имя папки на drawable-xxhdpi, изображение появляется, но слишком маленькое.

Я предполагаю, что устройство предварительного просмотра имеет значение xxhdpi, поэтомуя не могу использовать изображения в xhdpi. Интересно, происходит ли то же самое в реальных устройствах?

Если да, то как я могу использовать только одно изображение в dpi и позволить системе автоматически масштабироваться до другого dpi?

Редактировать: я забыл упомянуть, что он используется в качестве растрового элемента в списке слоев, используемых на экране запуска windowBackground, поскольку приложение еще не запущено, оно не может запускать код Java там.

Ответы [ 2 ]

0 голосов
/ 17 апреля 2019

Если вам нужно использовать одно изображение, которое хорошо масштабируется при разных плотностях и размерах экрана, то SVG (масштабируемая векторная графика) - это путь. Он довольно хорошо масштабируется, и вы не увидите пикселизации.

Здесьэто все, что вам нужно знать о Vector Drawables

https://developer.android.com/studio/write/vector-asset-studio#when

0 голосов
/ 17 апреля 2019

Вы можете поместить свой чертеж в папку res/drawable/ (без какого-либо спецификатора плотности), а затем использовать ImageView.ScaleType, который соответствует вашим потребностям.

...