Я разрабатываю приложение Flutter для Android. Моя цель — реализовать заставку с изображением,
подходящим по горизонтали и сохраняющим соотношение сторон (по вертикали не будет, но я буду использовать цвет в списке слоев). Но в целом я хочу иметь возможность
реализовать три «классических» способа масштабирования (помимо мозаики), а именно (простыми словами):
- заливка: четко, масштабируйте независимо по горизонтали и вертикали в соответствии с экраном, не соблюдая соотношение сторон.
- подогнать
- подогнать: масштабировать с учетом соотношения сторон до тех пор, пока одно измерение не будет соответствовать экрану, а другое — короче, не охватывая весь экран.
- обложка: масштабируйте с учетом соотношения сторон до тех пор, пока один размер не будет соответствовать экрану, а другой не превысит его, эффективно охватывая весь экран.
Дополнительная сложность заключается в том, что
размер изображения меньше экрана устройства. Другими словами, изображение на заставке необходимо масштабировать.
У меня есть тема запуска, которая предшествует обычной теме при запуске моего приложения, определенной в файлеstyles.xml:< /p>
Код: Выделить всё
@drawable/launch_background
?android:colorBackground
Затем файл launch_background.xml находится в двух папках (drawable и drawable-v21):
Тот, который используется моим телефоном при отладке:
Три точки следует заменить параметрами растрового изображения.
Я попробовал все значения по отдельности и вместе: android:gravity и android:scaleType (отдельные значения для каждого, а не объединенные значения с помощью оператора |), и я получаю только два результата.
Если изображение больше экрана, я получаю либо:
- Заполнить
- По размеру (горизонтально, поскольку изображение почти квадратное, а высота экрана больше его ширины)
Но если изображение меньше размера экране я получаю либо:
- Заливка
- Центр (не помещается ни по горизонтали, ни по вертикали)
Есть ли другое решение, кроме получения изображения с высоким разрешением, которое может покрывать весь экран? Некоторые устройства имеют огромный размер и разрешение экрана, и я сомневаюсь, что мои ожидания возможности масштабировать изображение на заставке, сохраняя при этом соотношение сторон, необоснованны.
Подробнее здесь:
https://stackoverflow.com/questions/791 ... pplication