9

Ho creato un app Android in Android Studio, e ha creato questi stili di default:Perché AppTheme.NoActionBar non funziona?

<style name="AppTheme.NoActionBar"> 
    <item name="windowActionBar">false</item> 
    <item name="windowNoTitle">true</item> 
</style> 

Tuttavia, in un'attività, cerco di impostare questo come tema:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    ... 
android:theme="@style/AppTheme.NoActionBar"> 

Ma quando faccio funzionare l'applicazione sto ottenendo nella barra delle operazioni:

enter image description here

Perche 'si ottengono una barra delle operazioni? Sto facendo qualcosa di evidentemente sbagliato, oppure Android Studio, l'IDE ufficiale di Google per la sua piattaforma, che cerca di confondere/fuorviare i suoi sviluppatori?

Ecco il mio codice di attività, non c'è niente in esso che può causare la barra delle azioni di apparire di per sé:

public class WelcomeActivity extends AppCompatActivity { 
    @Override 
    public void onCreate(Bundle savedInstanceState, PersistableBundle persistentState) { 
     super.onCreate(savedInstanceState, persistentState); 
     setContentView(R.layout.activity_welcome); 
    } 
} 
+1

add 'vero @ null ' –

risposta

27

provare qualcosa di simile:

<style name="AppTheme.NoActionBar"> 
    <item name="windowNoTitle">true</item> 
    <item name="windowActionBar">false</item> 
    <item name="android:windowFullscreen">true</item> 
    <item name="android:windowContentOverlay">@null</item> 
    </style> 

e impostare questo come il tema della vostra attività nel manifesto, vale a dire:

<activity 
    ... 
    android:theme="@style/AppTheme.NoActionBar"> 
</activity> 
3

si potrebbe avere una barra delle operazioni nel layout, o il tema impostato in AndroidManifest presentare

4

Se si lascia Android Studio automaticamente generare l'attività, cercare in activity_welcome. C'è android.support.design.widget.AppBarLayout e se lo elimini, l'ActionBar dovrebbe essere sparito.

+0

Mi hai salvato. Grazie. – wonsuc

0

Si dovrebbe aggiungere di seguito

<item name="android:windowFullscreen">true</item> 
<item name="windowActionBar">false</item> 

È possibile utilizzare

android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 

È possibile visitare Full Screen Theme for AppCompat

1

volta WelcomeActivity estende AppCompatActivity, provare Theme.AppCompat.NoActionBar:

<style name="AppTheme" parent="Theme.AppCompat.NoActionBar"> 
</style> 

se non già fatto, include una versione di appcompat libreria per il vostro build.gradle:

dependencies { 
    compile 'com.android.support:appcompat-v7:24.1.1' 
} 
2

Nessuna delle altre risposte ha funzionato per me, ma io trovato questa soluzione:

aperto values/styles.xml in Android Studio e cambiare questo:

<!-- Base application theme. --> 
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
    <!-- Customize your theme here. --> 
    <item name="colorPrimary">@color/colorPrimary</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="colorAccent">@color/colorAccent</item> 
</style> 

a:

<!-- Base application theme. --> 
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> <!-- changed .DarkActionBar to .NoActionBar --> 
    <!-- Customize your theme here. --> 
    <item name="colorPrimary">@color/colorPrimary</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="colorAccent">@color/colorAccent</item> 
</style> 
0

si dovrebbe utilizzare questo tema nel manifesto.xml, uguale:

<application 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:roundIcon="@mipmap/ic_launcher_round" 
     android:theme="@style/AppTheme"> 
     <activity android:name=".MainActivity"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN"/> 

       <category android:name="android.intent.category.LAUNCHER"/> 
      </intent-filter> 
     </activity> 
    </application> 

E in styles.xml:

<!-- Base application theme. --> 
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> 
    <!-- Customize your theme here. --> 
    <item name="colorPrimary">@color/colorPrimary</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="colorAccent">@color/colorAccent</item> 

    <item name="windowActionBar">false</item> 
    <item name="windowNoTitle">true</item> 
</style>