J'ai créé une application Android dans Android Studio, qui a créé ces styles par défaut:
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
Cependant, dans une activité, j'essaie de définir cela comme un thème:
<FrameLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
...
Android:theme="@style/AppTheme.NoActionBar">
Mais lorsque je lance l'application, la barre d'action s'affiche:
Pourquoi est-ce que je reçois une barre d'action? Suis-je en train de faire quelque chose de manifestement faux ou Android Studio, le IDE officiel de Google pour sa propre plate-forme, essaie-t-il de tromper/d'induire en erreur ses développeurs?
Voici mon code d'activité. Il ne contient rien qui puisse faire apparaître la barre d'action par elle-même:
public class WelcomeActivity extends AppCompatActivity {
@Override
public void onCreate(Bundle savedInstanceState, PersistableBundle persistentState) {
super.onCreate(savedInstanceState, persistentState);
setContentView(R.layout.activity_welcome);
}
}
Essayez quelque chose comme ça:
<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>
et définissez-le comme thème de votre activité dans le manifeste, à savoir:
<activity
...
Android:theme="@style/AppTheme.NoActionBar">
</activity>
Aucune des autres réponses n'a fonctionné pour moi, mais j'ai trouvé cette solution:
Ouvrez values/styles.xml
dans Android Studio et changez ceci:
<!-- 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>
à:
<!-- 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>
Si vous laissez simplement Android Studio générer automatiquement l'activité, consultez activity_welcome
. Il y a Android.support.design.widget.AppBarLayout
et si vous le supprimez, la barre d'action devrait disparaître.
Vous pouvez avoir une barre d'action dans votre mise en page ou définir un thème dans le fichier AndroidManifest
Une fois que WelcomeActivity étend AppCompatActivity, essayez Theme.AppCompat.NoActionBar :
<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
</style>
Si ce n'est déjà fait, incluez une version de la bibliothèque appcompat dans votre build.gradle:
dependencies {
compile 'com.Android.support:appcompat-v7:24.1.1'
}
Vous devriez ajouter ci-dessous
<item name="Android:windowFullscreen">true</item>
<item name="windowActionBar">false</item>
Vous pouvez utiliser
Android:theme="@Android:style/Theme.NoTitleBar.Fullscreen"
Vous pouvez visiter Thème plein écran pour AppCompat
vous devriez utiliser ce thème dans manifest.xml, comme suit:
<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>
Et dans 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>
Essayez de vérifier le fichier AndroidManifest.xml. J'ai trouvé que le thème principal était défini pour l'application, mais le thème que je souhaitais appliquer devait être ajouté à la bonne activité.