Ich habe eine Android-App in Android Studio erstellt, und diese Stile wurden standardmäßig erstellt:
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
In einer Aktivität versuche ich jedoch, dies als Thema festzulegen:
<FrameLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
...
Android:theme="@style/AppTheme.NoActionBar">
Wenn ich die App starte, bekomme ich die Aktionsleiste:
Warum bekomme ich eine Aktionsleiste? Mache ich etwas offensichtlich falsch oder ist Android Studio, Googles offizielles IDE, für seine eigene Plattform, die seine Entwickler zu verwirren/in die Irre führen will?
Hier ist mein Aktivitätscode, der nichts enthält, was dazu führen kann, dass die Aktionsleiste von selbst erscheint:
public class WelcomeActivity extends AppCompatActivity {
@Override
public void onCreate(Bundle savedInstanceState, PersistableBundle persistentState) {
super.onCreate(savedInstanceState, persistentState);
setContentView(R.layout.activity_welcome);
}
}
Versuchen Sie etwas so:
<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>
und legen Sie dies als das Thema Ihrer Aktivität im Manifest fest, das heißt:
<activity
...
Android:theme="@style/AppTheme.NoActionBar">
</activity>
Keine der anderen Antworten funktionierte für mich, aber ich fand diese Lösung:
Öffnen Sie values/styles.xml
in Android Studio und ändern Sie dies:
<!-- 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>
zu:
<!-- 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>
Wenn Sie die Aktivität von Android Studio automatisch generieren lassen, schauen Sie in activity_welcome
. Es gibt Android.support.design.widget.AppBarLayout
und wenn Sie es löschen, sollte die ActionBar weg sein.
Sie haben möglicherweise eine Aktionsleiste in Ihrem Layout oder legen ein Thema in der AndroidManifest-Datei fest
Sobald WelcomeActivityAppCompatActivity erweitert, versuchen Sie Theme.AppCompat.NoActionBar :
<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
</style>
Falls noch nicht geschehen, fügen Sie Ihrem build.gradle eine Version der appcompat-Bibliothek hinzu:
dependencies {
compile 'com.Android.support:appcompat-v7:24.1.1'
}
Sie sollten unten hinzufügen
<item name="Android:windowFullscreen">true</item>
<item name="windowActionBar">false</item>
Sie können verwenden
Android:theme="@Android:style/Theme.NoTitleBar.Fullscreen"
Sie können Full Screen Theme für AppCompat besuchen
sie sollten dieses Design in manifest.xml verwenden, genau wie:
<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>
Und 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>
Prüfen Sie die Datei AndroidManifest.xml. Ich fand heraus, dass das Hauptthema für die App erstellt wurde, aber das Thema, das ich anwenden wollte, musste der richtigen Aktivität hinzugefügt werden.