27

スプラッシュ スクリーン アクティビティのアクション バーを非表示にする方法を見つけようとしています。スプラッシュ スクリーンでアクション バーを非表示にする操作を行いましたが、問題が 1 つあります。スプラッシュ スクリーンが表示される前に、アクション バーが表示されるアクティビティのようなものがありますが、それを非表示にする方法がわかりません。 !

私のスプラッシュ画面は、アプリケーションの紹介のように、最初にアプリケーションに触れたときにのみ表示されます。

コード :

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

5 に答える 5

2

問題はこれらの行です

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

ActionBarスプラッシュ スクリーンは 1 つを使用せず、他のものとは完全に分離する必要があるため、それらは必要ありませんActivity

2つ必要ですActivities。独自のレイアウトを持つスプラッシュ スクリーン用の 1 つ。Activity2 つ目は、ログイン画面やウェルカム画面などのメイン画面です。

スプラッシュ スクリーン クラスは次のようになります。

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>

2番目には、などActivityのレイアウトがあります。ActionBar

于 2013-05-29T20:28:25.803 に答える