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.
- Imagen de fondo de Android 9-Patch Tamaño inicial de PNG?
- Diferentes imágenes de 9 parches para diferentes densidades?
- Definir un estilo personalizado (tema) en un componente de conmutador Android
- 9-patch no funciona
- ¿Cómo cambiar el diseño y el color del fondo del hilandero para android?
Este es el logotipo que tiene que estar en el medio.
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.
- Android 9 patch xml dibujable
- Creación de una burbuja de chat utilizando Formas o imagen de 9 parches
- Imagen de nueve parches para dibujar 1 borde de píxeles alrededor de TextView
- Nueve parches versus gráficos vectoriales
- Convertir imágenes png a 9 parche en Android Studio
- ¿Podría alguien ayudarme con la creación de 9 imágenes de parches de una imagen png?
- Padding arround textview con fondo de nueve parches no tienen efecto visual
- Android ¿Qué tiene de malo este parche 9?
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
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:
- Establezca splash en RelativeLayout con un fondo de color azul (que está utilizando). Añadir a este RelativeLayout una imagen centrada.
- Utilice un 9-patch de la manera correcta. Necesitas 4 parches en cada una de las esquinas:
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" />
- ¿Cómo puedo diseñar una etiqueta HTML INPUT para que mantenga CSS cuando se centre en Android 2.2+?
- Cómo resolver los errores de ruta de construcción?