Aplicación de pantalla de bienvenida y barra de acción de ocultar
Estoy tratando de averiguar cómo es posible ocultar la barra de acción para una actividad de pantalla de bienvenida. Hice algo que ocultar mi barra de acción en mi pantalla de inicio, pero hay un problema: antes de mi pantalla de bienvenida, aparece como una actividad con una barra de acción que aparece brevemente … y no sé cómo ocultarlo !
Mi pantalla de bienvenida sólo aparece cuando tocamos la aplicación por primera vez como una introducción de la aplicación.
- Cómo hacer una pantalla de bienvenida (pantalla visible cuando se inicia la aplicación)?
- Seleccione sólo una casilla de verificación de preferencias de salpicaduras
- La pantalla en blanco viene antes de salpicar
- Android: La pantalla de inicio no se muestra, ¿por qué?
- Android: ¿Cómo mostrar un "tour rápido" al abrir la aplicación por primera vez?
Código:
package com.example.basicmaponline; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.Window; public class Intro extends Activity{ @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); getWindow().requestFeature(Window.FEATURE_ACTION_BAR); getActionBar().hide(); setContentView(R.layout.intro); Thread timer = new Thread(){ public void run(){ try{ sleep(3000); }catch (InterruptedException e) { e.printStackTrace(); }finally{ Intent openMenu = new Intent("com.example.basicmaponline.MENU"); startActivity(openMenu); } } }; timer.start(); } @Override protected void onPause() { // TODO Auto-generated method stub super.onPause(); finish(); } }
Manifiesto:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.basicmaponline" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="11" android:targetSdkVersion="17" /> <uses-permission android:name="android.permission.CALL_PHONE"></uses-permission> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> <uses-permission android:name="android.permission.ACCESS_GPS"></uses-permission> <application android:allowBackup="true" android:icon="@drawable/lojacidadao" android:label="@string/app_name" android:theme="@style/AppTheme"> <activity android:name="com.example.basicmaponline.Intro" android:screenOrientation="portrait" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="com.example.basicmaponline.Menu" android:screenOrientation="portrait" android:label="@string/app_name"> <intent-filter> <action android:name="com.example.basicmaponline.MENU" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> <activity android:name="com.example.basicmaponline.Mapa" android:screenOrientation="portrait" android:label="@string/map_name"> <intent-filter> <action android:name="com.example.basicmaponline.MAPA" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> <activity android:name="com.example.basicmaponline.Lojas" android:screenOrientation="portrait" android:label="@string/lojas_name"> <intent-filter> <action android:name="com.example.basicmaponline.LOJAS" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> <activity android:name="com.example.basicmaponline.InfoLoja" android:screenOrientation="portrait" android:label="@string/loja_name"> <intent-filter> <action android:name="com.example.basicmaponline.INFOLOJA" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> <activity android:name="com.example.basicmaponline.Balcoes" android:screenOrientation="portrait" android:label="@string/balcoes_name" > <intent-filter> <action android:name="com.example.basicmaponline.BALCOES" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> <activity android:name="com.example.basicmaponline.Entidade" android:screenOrientation="portrait" android:label="@string/balcao_name"> <intent-filter> <action android:name="com.example.basicmaponline.ENTIDADE" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> <activity android:name="com.example.basicmaponline.Servicos" android:screenOrientation="portrait" android:label="@string/servicos_name"> <intent-filter> <action android:name="com.example.basicmaponline.SERVICOS" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> <activity android:name="com.example.basicmaponline.InfoServico" android:screenOrientation="portrait" android:label="@string/servico_name"> <intent-filter> <action android:name="com.example.basicmaponline.INFOSERVICO" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> <activity android:name="com.example.basicmaponline.Pesquisar" android:screenOrientation="portrait" android:label="@string/pesquisa_name" > <intent-filter> <action android:name="com.example.basicmaponline.PESQUISAR" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> </application> </manifest>
- La barra de título sigue apareciendo, incluso con requestWindowFeature o android: theme
- Crear una pantalla de bienvenida real
- ¿Cómo hago una pantalla de bienvenida?
- Cómo hacer una pantalla de bienvenida como diapositiva de la imagen
- ¿Qué resolución debería tener mi pantalla de bienvenida de Android?
- Android SplashScreen
- Cómo mostrar la imagen de bienvenida durante la actividad de carga
¿Por qué no añadir al manifiesto el tema de la primera actividad para excluir la barra de acción, y tal vez incluso la barra de notificación?
algo como:
<application android:allowBackup="true" android:icon="@drawable/lojacidadao" android:label="@string/app_name" android:theme="@style/AppTheme"> <activity android:name="com.example.basicmaponline.Intro" android:screenOrientation="portrait" android:label="@string/app_name" android:theme="@android:style/Theme.NoTitleBar.Fullscreen"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> ...
BTW, la razón por la que tienes la barra de acción es porque has configurado el tema por defecto para que lo tenga, en la etiqueta de la aplicación, por lo que no es una actividad antes de la tuya, es realmente tu propia actividad de salpicaduras.
Si su meta de construcción sdk 5.0 o más (AppTheme estilo es Theme.AppCompat.Light.DarkActionBar.)
<activity android:name=".Splash" android:label="@string/app_name" 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>
Usted es problema son estas líneas
getWindow().requestFeature(Window.FEATURE_ACTION_BAR); getActionBar().hide();
No son necesarios ya que no debe haber ActionBar
para llamar a todos, la pantalla de bienvenida no utiliza uno y debe ser una actividad completamente independiente de los demás.
Necesita dos Activities
. Uno para la pantalla Splash con su propio diseño. El segundo es para la Activity
principal, que puede ser una pantalla de inicio de sesión o pantalla de bienvenida, etc.
La clase de pantalla de bienvenida debe tener este aspecto
public class SplashScreen extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.yourlayoutfile); Thread loading = new Thread() { public void run() { try { sleep(5000); Intent main = new Intent(SplashScreen.this, Main.class); startActivity(main); } catch (Exception e) { e.printStackTrace(); } finally { finish(); } } }; loading.start(); } }
Archivo XML
<?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:id="@+id/LinearLayout1" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:orientation="vertical" tools:context=".SplashScreen" > // if not using an image replace with whatever is to be shown on the splash screen <ImageView android:id="@+id/imageView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/logo" /> </LinearLayout>
Ahora la 2ª Activity
tiene el diseño con la ActionBar
etc.