studio personalizar pantalla ocultar notificaciones iconos estado bloqueo barra bar android user-interface android-actionbar show-hide splash-screen

android - personalizar - aplicación de pantalla de bienvenida y ocultar la barra de acción



personalizar action bar android studio (3)

¿por qué no agregar 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> ...

Por cierto, la razón por la que tiene la barra de acción es porque ha configurado el tema predeterminado para que esté en la etiqueta de la aplicación, por lo que no es una actividad antes que la suya, es realmente su propia actividad de inicio.

Estoy tratando de averiguar cómo es posible ocultar la barra de acción para una actividad de pantalla de inicio. Hice algo que oculta mi barra de acción en mi pantalla de presentación, pero hay un problema: antes de que aparezca la pantalla de presentación, hay una actividad con una barra de acción que aparece brevemente ... y no sé cómo ocultarla !

Mi pantalla de inicio solo aparece cuando tocamos la aplicación por primera vez como una introducción de la aplicación.

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>


Si su objetivo de compilación es SDK 5.0 o superior (el estilo de AppTheme 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>


Tu problema son estas lineas

getWindow().requestFeature(Window.FEATURE_ACTION_BAR); getActionBar().hide();

No son necesarios ya que no debería haber una ActionBar de ActionBar para llamar, la pantalla de ActionBar no usa una y debería ser una Activity completamente separada de las demás.

Necesitas dos Activities . Uno para la pantalla de bienvenida con su propio diseño. El segundo es para la Activity principal, que puede ser una pantalla de inicio de sesión o una pantalla de bienvenida, etc.

La clase de pantalla de bienvenida debería verse así.

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 segunda Activity tiene el diseño con la ActionBar etc.