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

} 

Manifest:

<?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.Fullscreen " Итак,« Android »: Theme.Holo от Android, будет помещать панель действий для каждого действия. Ok! :) – Damiii

+0

да, и если вы хотите поддержать добавление панели действий к старым версиям Android (пряничный прядь и ниже) вы можете использовать библиотеку ActionBarSherlock, но, конечно же, использовать их стили и классы. –

+0

ОК! :) Большое вам спасибо! :) – Damiii

2

Ты проблема эти строки

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

Они не нужны, так как не должно быть никаких ActionBar звонить на все , заставка не использует один и должна быть полностью отдельной Activity tha ваши другие.

Вам нужны два Activities. Один для экрана Splash с собственным макетом. Второй для главного 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 File

<?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 и т. д.

+0

Я сделал то, что сделал, и сделал то же самое ... Я коснулся своего приложения, и действие появилось на короткое время (половина секунд) с помощью панели действий и после появления моего заставки: f – Damiii

+0

Это происходит на самом устройстве или в AVD? –

+0

Я делаю это с моей галактикой samsung 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> 
Смежные вопросы