Una pantalla de inicio es principalmente la primera pantalla de la aplicación cuando se abre. Es una pantalla constante que aparece durante un tiempo específico, generalmente se muestra por primera vez cuando se inicia la aplicación. La pantalla de bienvenida se utiliza para mostrar información introductoria básica, como el logotipo de la empresa, el contenido, etc., justo antes de que la aplicación se cargue por completo.
Crear una pantalla de bienvenida usando un controlador en Android
Aquí creamos dos actividades MainActivity que muestran la pantalla de bienvenida y SecondActivity para cambiar de MainActivity a SecondActivity. El programa principal está escrito en MainActivity, puede cambiar las actividades según sus necesidades.
- Para eliminar ActionBar, debe realizar los siguientes cambios en su archivo styles.xml.
style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar" ...
- Utilice colores que sean adecuados para su aplicación.
- No es necesario realizar ningún cambio en su archivo de manifiesto.
Usando la función ‘postDelayed()’:
public final boolean postDelayed(Runnable Object token, long delayMillisec)
Esta función retrasa el proceso por un tiempo específico. Esto se usa con un controlador que le permite enviar y procesar objetos Message y Runnable asociados con MessageQueue de Thread. Cada instancia del controlador es un único subproceso.
A continuación se muestra el código para crear la pantalla de bienvenida:
MainActivity.java
package com.example.hp.splashscreen; import android.content.Intent; import android.os.Handler; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.WindowManager; public class MainActivity extends AppCompatActivity { private static int SPLASH_SCREEN_TIME_OUT=2000; #After completion of 2000 ms, the next activity will get started. @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); //This method is used so that your splash activity //can cover the entire screen. setContentView(R.layout.activity_main); //this will bind your MainActivity.class file with activity_main. new Handler().postDelayed(new Runnable() { @Override public void run() { Intent i=new Intent(MainActivity.this, SecondActivity.class); //Intent is used to switch from one activity to another. startActivity(i); //invoke the SecondActivity. finish(); //the current activity will get finished. } }, SPLASH_SCREEN_TIME_OUT); } }
activity_main.xml : puede usar cualquier imagen para la pantalla de inicio y pegarla primero en la carpeta dibujable. El archivo XML es fácil de generar mediante el enfoque de arrastrar y soltar, solo use la vista de imagen y seleccione la imagen adecuada.
<?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.hp.splashscreen.MainActivity"> <ImageView android:id="@+id/imageView" android:layout_width="250dp" android:layout_height="200dp" app:srcCompat="@drawable/geeks" app:layout_constraintTop_toTopOf="parent" android:layout_marginTop="8dp" android:layout_marginRight="8dp" app:layout_constraintRight_toRightOf="parent" android:layout_marginLeft="8dp" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintBottom_toBottomOf="parent" android:layout_marginBottom="8dp" app:layout_constraintVertical_bias="0.447" /> </android.support.constraint.ConstraintLayout>
Producción:
Publicación traducida automáticamente
Artículo escrito por AnushkaKhattri y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA