Saltar al contenido

Establecer imagen de fondo para todos los tamaños de pantalla

Solución:

Coloque una carpeta dibujable simple y pegue su imagen allí. Luego abra su styles.xml y pegue esta línea de código.

 <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorOrange</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="android:windowBackground">@drawable/yourImage</item>
    </style>

Al usar esto, no tiene que poner imágenes de fondo en cada diseño.

Convierta su imagen en todos los tamaños siguientes y péguela en una carpeta en particular.

xxxhdpi: 1280x1920 px
xxhdpi: 960x1600 px
xhdpi: 640x960 px
hdpi: 480x800 px
mdpi: 320x480 px
ldpi: 240x320 px

Son las mejores dimensiones para que la aplicación se ejecute en todos los dispositivos.

Referencia

Use un ImageView en lugar de simplemente agregar la imagen al fondo de alguna vista. El uso de la vista de imagen no estirará la imagen, solo recortará la parte que no se ajusta a la imagen. Todo este trabajo realizado por el scaleType = “centerCrop” etiqueta.

Aquí hay un código de muestra:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/activity_class"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context="lpt.com.attendance.ActivityClass.Activity_Class">

        <ImageView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:adjustViewBounds="true"
            android:scaleType="centerCrop"
            android:src="https://foroayuda.es/@drawable/background" />

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            //Now this is your main layout to put everything.

        </RelativeLayout>
</FrameLayout>
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *