«Заполнить», «подогнать» и «покрыть» изображением на заставке приложения Flutter.Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 «Заполнить», «подогнать» и «покрыть» изображением на заставке приложения Flutter.

Сообщение Anonymous »

Я разрабатываю приложение 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»