Veo muchas aplicaciones que usan una imagen de pantalla completa como fondo. Esto es un ejemplo:
Quiero usar esto en un proyecto, la mejor manera que he encontrado hasta ahora para hacerlo es usar una imagen de gran tamaño, ponerla ImageView
y usarla android: adjustViewBounds="true"
para ajustar los márgenes
El problema es que si una pantalla con una resolución muy alta, la imagen se queda corta.
Otra opción pensé es utilizar la imagen en una FrameLayout
, con match_parent
, en width
y height
como fondo ... esto estira la imagen, pero creo que el resultado no es muy bueno.
¿Como lo harias?
android
background
imageview
android-framelayout
Sergio76
fuente
fuente
android:scaleType="centerCrop"
Respuestas:
Hay varias formas de hacerlo.
Opción 1:
Cree diferentes imágenes perfectas para diferentes ppp y colóquelas en una carpeta dibujable relacionada. Luego establecer
android:background="@drawable/your_image"
Opcion 2:
Agrega una sola imagen grande. Use FrameLayout. Como primer hijo agregue un
ImageView
. Establezca lo siguiente en su ImageView.fuente
Otra opción es agregar una sola imagen (no necesariamente grande) en los elementos dibujables (por ejemplo, backgroung.jpg), crear un ImageView iv_background en la raíz de su xml sin un atributo "src". Luego, en el método onCreate de la actividad correspondiente:
Sin recortes, no hay muchas imágenes de diferentes tamaños. ¡Espero eso ayude!
fuente
Debe colocar las imágenes de varios tamaños en la carpeta siguiente
para más detalles visite este enlace
ldpi
mdpi
hdpi
xhdpi
xxhdpi
y use el fondo RelativeLayout o LinearLayout en lugar de usar ImageView como ejemplo siguiente
fuente
Unexpected namespace prefix "xmlns" found for tag RelativeLayout
Qué pasa
android:background="@drawable/your_image"
en el diseño principal de su actividad?
De esta manera, también puede tener diferentes imágenes para diferentes densidades de pantalla colocándolas en las
res/drawable-**dpi
carpetas apropiadas .fuente
Ha pasado un tiempo desde que esto fue publicado, pero esto me ayudó.
Puede usar diseños anidados. Comience con un RelativeLayout y coloque su ImageView en eso.
Establezca la altura y el ancho en match_parent para llenar la pantalla.
Establezca scaleType = "centreCrop" para que la imagen se ajuste a la pantalla y no se estire.
Luego puede colocar cualquier otro diseño como lo haría normalmente, como el diseño lineal a continuación.
Puede usar android: alpha para establecer la transparencia de la imagen.
fuente
Si desea que su imagen se muestre DETRÁS de una barra de acción transparente, ponga lo siguiente en la definición de estilo de su tema:
¡Disfrutar!
fuente
utilizar este
en su actividad, primer diseño lineal o relativo.
fuente
En líneas con la respuesta de NoToast, necesitaría tener múltiples versiones de "your_image" en su res / drawable-ldpi, mdpi, hdpi, x-hdpi (para pantallas grandes xtra), elimine match_parent y mantenga Android: ajusteViewBounds = " cierto"
fuente
Agregue
android:background="@drawable/your_image"
dentro de su Relativelayout / Linearlayout Worked.fuente
Si tiene bg.png como imagen de fondo, simplemente:
fuente
Trabajando. deberías probar esto:
fuente
three step for put background
1) debes elegir tu imagen similar. por ejemplo: ingrese la descripción de la imagen aquí
2) Luego copia esta imagen en dibujable. advertencia: debe elegir tipos cortos para la imagen del nombre.
ingrese la descripción de la imagen aquí
3) vas a la página xml Destinado y escribes:
android: background = "id picture", por ejemplo, mi id. de imagen es @ drawable / download.
ingrese la descripción de la imagen aquí
terminar.
fuente
La forma más fácil:
Paso 1: abra el archivo AndroidManifest.xml
¡Puedes ver el archivo aquí!
Paso 2: localizar
android:theme="@style/AppTheme" >
Paso 3: cambia a
android:theme="@style/Theme.AppCompat.NoActionBar" >
Paso 4: luego agrega ImageView & Image
Paso 4: ¡Eso es!
fuente