19

Próbuję dowiedzieć się, jak można ukryć pasek akcji dla działania ekranu powitalnego. Zrobiłem coś, co ukrywa mój pasek akcji na moim ekranie powitalnym, ale jest jeden problem: zanim pojawi się ekran powitalny, jest jak aktywność z paskiem akcji, który pojawia się na krótko ... i nie wiem jak Ukryj to!Aplikacja ekranu powitalnego i pasek czynności ukrywania

Mój ekran powitalny pojawia się tylko wtedy, gdy po raz pierwszy dotkniemy aplikacji, podobnie jak wprowadzenie aplikacji.

Kod:

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(); 
} 

} 

Oczywisty:

<?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> 
+0

@rciovati bym sekund ta opinia. Jeśli po raz pierwszy ustawisz go w układzie, by nie był obecny, nie będziesz miał problemu z tym, co brzmi tak, jakbyś był migotaniem. –

+0

opublikował Manifest – Blackbelt

+0

Dodałem mój manifest :) – Damiii

Odpowiedz

45

dlaczego nie dodać do zamanifestować motyw pierwszego działania, aby wykluczyć pasek akcji, a może nawet pasek powiadomień?

coś takiego:

<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, powodem masz pasek działań dlatego masz ustawić domyślny motyw, by go mieć, w tagu aplikacji, więc nie jest to aktywność, zanim twoje, to naprawdę twoja własna aktywność splash.

+1

Udało się! Dziękuję Ci ! "android: theme =" @ android: style/Theme.NoTitleBar.Pełny ekran " " Android: Theme.Holo "z Androidem umieści pasek akcji dla każdego działania, ok! :) – Damiii

+0

tak, i jeśli chcesz wesprzeć dodawanie paska akcji do starych wersji Androida (pierniki i poniżej), możesz korzystać z biblioteki ActionBarSherlock, ale także używać ich stylów i klas, oczywiście –

+0

ok! :) dziękuję bardzo! :) – Damiii

2

jesteś problemem są te linie

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

nie są one potrzebne, ponieważ nie powinno być żadnych ActionBar nazwać w ogóle ekran powitalny nie korzysta z niego i powinien być całkowicie oddzielną wersją o nazwie Activity tha n twoich innych.

Potrzebujesz dwóch Activities. Jeden na ekran powitalny z własnym układem. 2. jest dla głównego Activity, który może być ekran logowania lub ekran powitalny itp

Powitalny klasy ekran powinien wyglądać następująco

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(); 
} 

} 

pliku 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> 

teraz drugi Activity ma układ z ActionBar itd.

+0

Zrobiłem to, co zrobiłeś i robisz to samo ... Dotknąłem mojej aplikacji i aktywność pojawi się krótko (pół sekundy) z paskiem akcji i po wyświetleniu mojego ekranu powitalnego: f – Damiii

+0

Czy dzieje się to na rzeczywistym urządzeniu lub "AVD"? –

+0

robię to z moją samsung galaxy s4 – Damiii

3

jeśli budować cel SDK 5.0 lub powyżej (AppTheme styl jest 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> 
Powiązane problemy