¿Como superponer un layout encima de otro layout?

publicado por: Anonymous

Tengo un splash screen dentro de un relative layout que se encarga de rellenarme la pantalla del móvil con el logo de la app. Hasta ahí todo bien, la cosa es que estoy tratando de implementar un progress bar para que a medida que realice las comprobaciones se incremente el progreso y una vez concluida las verificaciones que salte a la actividad principal.

El problema que tengo es que el splash screen me ocupa toda la pantalla y no se como puedo hacer para que el splash screen siga con la función de ocupar toda la pantalla del dispositivo al mismo tiempo que hago que la barra de progreso aparezca encima del splash screen.

Adjunto el xml para que le echéis un vistazo

<?xml version="1.0" encoding="utf-8"?>

<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"
tools:context=".SplashScreenActivity"
android:orientation="vertical">

<ImageView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:contentDescription="@string/app_name"
    android:scaleType="fitXY"
    android:src="@drawable/splash_screen"/>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <ProgressBar
        android:id="@+id/progressBar"
        style="?android:attr/progressBarStyleHorizontal"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1" />

</LinearLayout>

Esta seria la idea

solución

Con un LinearLayout dentro de tu RelativeLayout puedes solucionar tu problema.

El RelativeLayout te deja superponer elementos y establecer una relación jerárquica.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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"
    tools:context=".SplashScreenActivity">

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:contentDescription="@string/app_name"
        android:scaleType="fitXY"
        android:src="@drawable/splash_screen"/>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:layout_marginBottom="?attr/actionBarSize"
        android:layout_alignParentBottom="true">

        <ProgressBar
            android:id="@+id/progressBar"
            style="?android:attr/progressBarStyleHorizontal"
            android:layout_width="wrap_content"
            android:layout_height="0dp"
            android:layout_gravity="center_vertical|center_horizontal"
            android:layout_weight="1" />

    </LinearLayout>

</RelativeLayout>

Aquí te dejo un link de la documentación: RelativeLayouts

Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *