9 Imagen de parche donde el centro es 1: 1

Quiero crear una pantalla de bienvenida en Android con un logotipo pequeño en el centro, pero el logotipo está extendido en dispositivos más grandes. Pensé que podría utilizar una imagen de 9 parches, pero parece que una imagen de 9 parches funciona inversada a lo que intento alcanzar.

Logotipo de chapoteo

Este es el logotipo que tiene que estar en el medio.

9 logotipo de la demostración del remiendo

Esto es lo que obtengo cuando configuro la imagen como un parche 9. El centro se extiende y las esquinas están intactas. Necesito opuesto. Necesito un parche 9 que puede definir un área central que siempre se muestra en la proporción 1: 1 correcta, y las áreas de borde a la izquierda, derecha, arriba y abajo que se puede estirar si la imagen es más pequeña que la pantalla.

¿Cómo puedo hacer esto? Con o sin 9 parches.

Aquí hay un ejemplo de cómo puede hacer esto. Este es un 9patch, así que guárdalo así: yourname.9.png y no te olvides de establecer android:scaleType="fitXY" en tu ImageView

Introduzca aquí la descripción de la imagen

Es posible que desee marcar la posición de 4 puntos Ver la siguiente marca X, simplemente coloque un punto en lugar de ellos. Y use (si no lo ha hecho) la herramienta 9path dentro de la carpeta SDK para tener una vista previa de lo que será generado por Android SDK

  XX ************ X ************ ************ ****LOGO**** ************ X ************ ************ 

Usted tiene dos soluciones:

  1. Establezca splash en RelativeLayout con un fondo de color azul (que está utilizando). Añadir a este RelativeLayout una imagen centrada.
  2. Utilice un 9-patch de la manera correcta. Necesitas 4 parches en cada una de las esquinas:

Introduzca aquí la descripción de la imagen

Si es sólo un logotipo en el centro de un color de fondo, puede probar este enfoque:

No hay necesidad de 9 parches. Simplemente utilice una imagen normal (llamada "splash_logo" aquí) y envíela creando un nuevo archivo xml (dentro de res / drawable):

 <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item> <color android:color="@color/default_background" /> </item> <item> <bitmap android:gravity="center" android:src="@drawable/splash_logo" > </bitmap> </item> </layer-list> 

Utilice este dibujable en el imageView que desea utilizar.

Si se trata de una pantalla completa, puede ir más allá y utilizar un tema para la primera actividad, eliminando así la necesidad de crear cualquier vista:

En styles.xml (o theme.xml):

 <style name="SplashTheme" parent="@android:style/Theme.NoTitleBar"> <!-- Background color must match splash image borders ! --> <item name="android:windowBackground">@drawable/activity_splash</item> <item name="android:background">@null</item> </style> 

Y en el manifiesto:

  <activity android:name="..." android:theme="@style/SplashTheme" > 

Indica qué partes de una imagen de 9 parches se estira con los píxeles en el borde superior e izquierdo. Tan sólo llenar los píxeles cerca de los bordes.

El 9-patch no se utiliza para este tipo de renderizado. ( http://developer.android.com/tools/help/draw9patch.html ) Pero usted hace como el código mencionado abajo, usando a y centralizando usando la gravedad.

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:gravity="center" > <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" android:src="@drawable/your_logo" /> 

  • ¿Es posible utilizar varias imágenes de parche dentro de LayerDrawable?
  • Android seekbar establecer estilo personalizado con nueve imágenes de parche
  • Botón con fondo transparente oscurece en Lolipop android
  • Ninepatch escala incorrecta al desplazarse después de aplicar un filtro de color?
  • Bad 'Patches' en el archivo de 9 parches
  • Mi 9 Patch Image dejó de funcionar
  • Creación de un parche 9 dibujable en tiempo de ejecución
  • ¿Cómo puedo diseñar las pestañas de Android para obtener un aspecto 3D?
  • forma androide con un fondo repetido
  • ¿Cómo volver al estilo predeterminado en EditText si aplico un fondo?
  • Nueve parches en un grupo de vistas personalizado
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.