Centrar una imagen de fondo en Android
Tengo una imagen de fondo de 100 x 100 que quiero centrar en una aplicación de Android. ¿Hay alguna forma de hacer esto?
Estoy pensando que sería de gran ayuda con los cambios de orientación para aplicaciones simples.
- ¿Cómo mantener una imagen en una actividad de Android durante un cambio de orientación?
- ¿Cómo hago girar la versión preliminar de vídeo de la versión de libstreaming?
- ¿Cómo se utilizan los valores de android.graphics.Matrix?
- ¿Cómo puedo bloquear el diseño de mi programa Android a una orientación
- Cambiar el diseño mientras cambia la orientación en tiempo de ejecución en un fragmento sin volver a crear la vista
- El diseño de Xml cambia al cambiar la orientación
- La orientación de la pantalla de Android difiere entre los dispositivos
- Diseño diferente para la orientación "Paisaje" y "Orientación horizontal"
- A veces no obtiene la devolución de llamada onCreateLoader después de llamar a initLoader
- El diseño de la vista no se actualiza en el cambio de orientación en android
- Cambiar la configuración de Android en el cambio de orientación
- La orientación del paisaje bloqueado en la actividad tablet + se inició cuando el dispositivo en vertical = rotación visible en la pantalla
- Problema del ciclo de vida con cambio de orientación en otra actividad
Puede utilizar BitmapDrawable para el caso. Cree centered.xml en la carpeta res/drawable
:
<bitmap xmlns:android="http://schemas.android.com/apk/res/android" android:src="@drawable/your_image" android:gravity="center"/>
Entonces usted puede utilizar centered
dibujable como fondo.
La pregunta es vieja y la respuesta tiene una gran debilidad – no tenemos posibilidad de cambiar el tamaño de la imagen, significa que depende totalmente de lo dibujable que tenemos.
Al usar las bibliotecas de diseño Android más recientes, la vista de la raíz de la actividad será CoordinatorLayout
o DrawerLayout
y esos diseños no tienen una vista predeterminada que muestra la jerarquía, significa que la primera vista secundaria será eclipsada por cualquier siguiente y por segundo y por último. uno. Así que para tener fondo centrado Necesitamos añadir como primer niño LinearLayout
con la imagen centrada dentro de ella. Algunos fragmentos de código:
<android.support.v4.widget.DrawerLayout> <!-- first child --> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" > <ImageView android:layout_width="match_parent" android:layout_height="60dp" android:src="@drawable/some_background" /> </LinearLayout> ... next view will be above
Podemos personalizar completamente el tamaño de la imagen que será centrada por la opción de la gravedad de LinearLayout
. Importante es también tener match_parent en el ancho y la altura de LinearLayout
, gracias a que el centro será el centro de la vista padre también.
Lo mismo se puede hacer en RelativeLayout
o en cualquier otro diseño que permita que las vistas secundarias se superpongan.
- Fuentes personalizadas en Android PhoneGap
- Android: Cambia la posición absoluta de una vista mediante programación