19

我想弄清楚如何隱藏啓動屏幕活動的操作欄。 我做了一些在我的啓動畫面上隱藏我的動作欄,但有一個問題: 之前我的啓動畫面出現,就像一個活動與行動欄誰短暫出現......我不知道如何把它藏起來!啓動屏幕應用程序和隱藏操作欄

我的啓動畫面僅在我們第一次觸摸應用程序時纔會出現,就像應用程序的介紹一樣。

代碼:

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

} 

清單:

<?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我想這第二個觀點。如果你首先在佈局中設置它不存在,那麼你就不會有什麼聲音被描述爲閃爍的問題。 –

+0

發佈清單 – Blackbelt

+0

我添加了我的清單:) – Damiii

回答

45

爲什麼不添加到清單中排除操作欄的第一個活動的主題,甚至可能是通知欄?

類似:

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

順便說一句,你有操作欄的原因是因爲您已設置的默認主題擁有它,在應用程序標籤,所以它不是你之前的活動,這是真的你自己的飛濺活動。

+1

它的工作!謝謝 ! 「android:theme =」@ android:style/Theme.NoTitleBar。全屏「 所以Android的」android:Theme.Holo「將會把每個活動的動作欄都放上去,OK!:) – Damiii

+0

是的,如果你想支持向舊的android版本(薑餅和下面)添加動作欄,你可以使用ActionBarSherlock庫,當然也可以使用它們的樣式和類。 –

+0

ok!:)非常感謝你!:) – Damiii

2

你的問題是這些線路

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

因爲應該沒有ActionBar在所有調用它們並不需要,啓動畫面不使用一個,應該是一個完全獨立的Activity你的其他人。

您需要兩個Activities。一個用於擁有自己的佈局的Splash Screen。第二是主Activity,它可以是一個登錄界面或歡迎屏幕等

閃屏類應該是這樣的

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

} 

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> 

現在第二個Activity的佈局與ActionBar

+0

我做了你所做的和它做同樣的事情......我觸摸了我的應用程序,並且一個活動短暫地(半秒)出現在操作欄中,出現我的啓動畫面後: f – Damiii

+0

這是發生在實際設備上還是「AVD」? –

+0

我正在做我的三星銀河s4 – Damiii

3

,如果你的構建目標SDK 5.0或以上(AppTheme風格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>