Показывать изображение с заставкой с автоматической установкой

Я использую следующий стиль для отображения заставки для приложения Android, написанного в MonoDroid. Тем не менее, он, кажется, принимает изображение и максимизирует его, чтобы он соответствовал всему экрану, в то же время искажая пропорции. Таким образом, изображение выглядит огромным и ужасным.

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

<style name="Theme.Splash" parent="android:Theme"> <item name="android:windowBackground">@drawable/splashscreenimage</item> <item name="android:windowNoTitle">true</item> </style> 

Это активность в C #, которая создает заставку и переходит к логину.

  [Activity(MainLauncher = true, Theme = "@style/Theme.Splash", NoHistory = true)] public class SplashScreenActivity : Activity { protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); // Start our real activity StartActivity(typeof(LoginActivity)); } } 

Solutions Collecting From Web of "Показывать изображение с заставкой с автоматической установкой"

В Android есть несколько типов чертежей, включая фактические растровые изображения, девять патчей и файлы XML. Попробуйте обернуть ваш файл изображения с помощью XML-файла, который дает ему атрибуты, а затем использовать XML-файл как переносимый вместо исходного изображения.

Предположим, что ваш xml-файл называется scaledBackground, а исходное изображение просто background.png:

 <?xml version="1.0" encoding="utf-8"?> <bitmap xmlns:android="http://schemas.android.com/apk/res/android" android:gravity="center" android:src="@drawable/background" /> 

Вместо того, чтобы @drawable/background фон на ссылку @drawable/background вы должны установить ссылку на файл XML: @drawable/scaledBackground в этом примере. Подробная информация о режимах масштабирования указана в документации Drawable .

Кажется, что он принимает изображение и максимизирует его, чтобы он соответствовал всему экрану, одновременно испортив соотношение сторон. Таким образом, изображение выглядит огромным и ужасным.

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

Причина увеличения изображения заключается в том, что изображение, которое вы используете, имеет более высокие пиксели, чем разрешение экрана устройства, на котором вы тестируете приложение. Для решения этого наилучшим способом является создание изображений правильного размера (пикселей) для экрана другого устройства А затем поместите их в файлы с возможностью рисования (drawable-ldpi, drawable-mdpi, drawable-hdpi и т. Д.) Соответственно.

Ниже приведен список минимального размера экрана для различных дисплеев, предоставляемых Google (все в пикселях): –


Для мобильных устройств Android

LDPI-426 x 320

MDPI-470 x 320

HDPI-640 x 480

XHDPI-960 x 720


Для Android-планшетных устройств

LDPI-200 x 320

MDPI-320 x 480

HDPI-480 x 800

XHDPI- 720 x 1280


Теперь создайте XML-drawable в res / drawable, который предоставит фон активности всплеска в теме (Theme.Splash), используя layer-list . Изображение загружается в <bitmap> и выравнивается по центру с использованием атрибута тяжести .

 <!-- background_splash.xml --> <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@color/gray"/> <item> <bitmap android:gravity="center" android:src="@drawable/splashscreenimage"/> </item> </layer-list> 

Теперь измените свой стиль (Theme.Splash) и установите background_splash.xml в качестве фона вашей активности всплеска в теме.

 <style name="Theme.Splash" parent="android:Theme"> <item name="android:windowBackground">@drawable/background_splash.xml</item> <item name="android:windowNoTitle">true</item> </style> 

При этом изображение должно быть установлено в центре с сохранением пропорций.

Примечание. Для изменения размера изображения вы можете использовать Adobe Photoshop (с ним легче работать). Немного экспериментирования нужно будет сделать, чтобы получить правильный размер изображения, который вы хотите для заставки.

В соответствии с предпочтением вы также можете использовать 9 патч-изображений, чтобы граница изображения могла растягиваться, чтобы соответствовать размеру экрана, не затрагивая статическую область изображения.


Ссылки:

Экран всплывающего окна здания: https://plus.google.com/+AndroidDevelopers/posts/Z1Wwainpjhd

Экран заставки Размер изображения: размеры экрана всплеска андроида для дисплеев ldpi, mdpi, hdpi, xhdpi? – например: 1024X768 пикселей для ldpi