Parece tomar la imagen y maximizarla para que se ajuste a toda la pantalla mientras se arruina la relación de aspecto. Por lo tanto, la imagen se ve enorme y horrible.
¿Hay alguna manera de maximizarlo pero manteniendo la relación de aspecto así que todavía se ve bien?
La razón por la imagen se agranda es porque la imagen que utiliza tiene píxeles superiores que la resolución de la pantalla del dispositivo que se está probando la aplicación. Para resolver esto, el mejor método es la creación de imágenes de adecuada tamaño (píxeles) para pantalla de dispositivo diferente y luego ponerlos en dibujables archivos (drawable-ldpi, drawable-mdpi, drawable-hdpi, etc.) en consecuencia.
siguiente es una lista de tamaño de pantalla mínima para varias pantallas como proporcionado por Google (todo en píxeles): -
para dispositivos Android Mobile
LDPI- 426 x 320
MDPI- 470 x 320
HDPI- 640 x 480
XHDPI- 960 x 720
para dispositivos Android Tablet
LDPI- 200 x 320
MDPI- 320 x 480
HDPI- 480 x 800
XHDPI- 720 x 1280
Ahora crear un XML dibujable en res/estirable que proporcionará fondo de la actividad de bienvenida en el tema (Theme.Splash) usando layer-list
. La imagen se carga en <bitmap>
y es centro alineado utilizando el atributo de gravedad .
<!-- 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>
Ahora modifique su estilo (Theme.Splash) y establecer background_splash.xml como fondo de su actividad salpicaduras en el tema.
<style name="Theme.Splash" parent="android:Theme">
<item name="android:windowBackground">@drawable/background_splash.xml</item>
<item name="android:windowNoTitle">true</item>
</style>
Con eso, la imagen se debe establecer en el centro con relación de aspecto mantenido.
Nota: Para cambiar el tamaño de la imagen, puede usar Adobe Photoshop (me resulta más fácil trabajar con ella). Deberá realizar un poco de experimentación para obtener el tamaño de imagen correcto que desea para la pantalla de inicio.
De preferencia, también puede usar 9 Imagen de parche para que el borde de la imagen pueda estirarse para ajustarse al tamaño de la pantalla sin afectar el área estática de la imagen.
Enlaces de referencia:
Edificio Splash Screen: https://plus.google.com/+AndroidDevelopers/posts/Z1Wwainpjhd
Splash tamaños de imagen en pantalla: android splash screen sizes for ldpi,mdpi, hdpi, xhdpi displays ? - eg : 1024X768 pixels for ldpi
Tenga una mirada en esta [post] (http://stackoverflow.com/questions/2521959/how-to-scale-an-image-in-imageview-to-keep-the-aspect-ratio), es un problema similar. – Michael
que utiliza una vista de imagen. Esto es estrictamente el fondo de la ventana. En MonoDroid hay una segunda o dos pausas mientras se carga el entorno. Quería mostrar una pantalla de bienvenida durante esa pausa. – Telavian