¿Cómo crear una pantalla de bienvenida en Android usando Kotlin?

La pantalla de bienvenida de Android es la primera pantalla visible para el usuario cuando se inicia la aplicación. Splash Screen es la primera experiencia del usuario con la aplicación, por eso se considera una de las pantallas más vitales de la aplicación. Se utiliza para mostrar información sobre el logotipo de la empresa, el nombre de la empresa, etc. También podemos agregar algunas animaciones a la pantalla de bienvenida. qué artículo. 

Splash Screen in Android sample GIF

Pasos para crear una pantalla de bienvenida

Paso 1: Crear un nuevo proyecto

Para crear un nuevo proyecto en Android Studio, consulte Cómo crear/iniciar un nuevo proyecto en Android Studio . Tenga en cuenta que seleccione Kotlin como lenguaje de programación.

Paso 2: Crea otra actividad

Vaya a aplicación > java > nombre del primer paquete > haga clic con el botón derecho en > Nuevo > Actividad > Actividad vacía y cree otra actividad y llámela SplashScreen . Edite el archivo activity_splash_screen.xml y agregue una imagen y texto en la pantalla de inicio según el requisito. Aquí estamos agregando una imagen a la pantalla de bienvenida. A continuación se muestra el código para el  archivo activity_splash_screen.xml .

XML

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
    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:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#fff"
    tools:context=".SplashScreen">
     
    <ImageView
        android:id="@+id/SplashScreenImage"
        android:layout_width="300dp"
        android:layout_height="200dp"
        android:src="@drawable/geeksforgeeks"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
     
</androidx.constraintlayout.widget.ConstraintLayout>

Vaya al archivo SplashScreen.kt y consulte el siguiente código. A continuación se muestra el código del  archivo SplashScreen.kt . Se agregan comentarios dentro del código para comprender el código con más detalle.

Kotlin

import android.content.Intent
import android.os.Bundle
import android.os.Handler
import android.view.WindowManager
import androidx.appcompat.app.AppCompatActivity
 
@Suppress("DEPRECATION")
class SplashScreen : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_splash_screen)
         
        // This is used to hide the status bar and make
        // the splash screen as a full screen activity.
        window.setFlags(
            WindowManager.LayoutParams.FLAG_FULLSCREEN,
            WindowManager.LayoutParams.FLAG_FULLSCREEN
        )
 
        // we used the postDelayed(Runnable, time) method
        // to send a message with a delayed time.
        Handler().postDelayed({
            val intent = Intent(this, MainActivity::class.java)
            startActivity(intent)
            finish()
        }, 3000) // 3000 is the delayed time in milliseconds.
    }
}

Paso 3: trabajar con el archivo AndroidManifest.xml

Vaya al archivo AndroidManifest.xml y agregue el siguiente código en la actividad de la pantalla de bienvenida. Esto se usa para ocultar la barra de estado o la barra de acción.

android:tema=”@estilo/Tema.AppCompat.Light.NoActionBar”

Además, agregue <intent-filter> dentro de la actividad de la pantalla de bienvenida para que esta actividad sea la actividad inicial. Entonces, siempre que la aplicación se ejecute, el usuario puede ver la pantalla de inicio al principio. A continuación se muestra el código completo del  archivo AndroidManifest.xml .

XML

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.splashscreeninandroid">
 
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity"></activity>
        <activity
            android:name=".SplashScreen"
            android:theme="@style/Theme.AppCompat.Light.NoActionBar">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
 
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
 
</manifest>

Paso 4: trabajar con el archivo activity_main.xml

Vaya al archivo activity_main.xml y agregue un texto que muestre «Bienvenido a GeeksforGeeks» cuando el usuario ingrese a MainActivity. A continuación se muestra el código para el  archivo activity_main.xml .

XML

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
    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:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/black"
    tools:context=".MainActivity">
 
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Welcome To GeeksforGeeks"
        android:textColor="@color/colorAccent"
        android:textSize="20dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
 
</androidx.constraintlayout.widget.ConstraintLayout>

Paso 5: trabajar con el archivo MainActivity.kt

No haga nada en el archivo MainActivity.kt porque ya creamos una nueva actividad para la pantalla de bienvenida. A continuación se muestra el código para el  archivo MainActivity.kt

Kotlin

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Toast
 
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
    }
}

Producción

Encuentra este proyecto en Github: https://github.com/Gauravverma245/SplashScreen

Publicación traducida automáticamente

Artículo escrito por gaurav__verma y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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