wake-up-neo.com

Warum funktioniert AppTheme.NoActionBar nicht?

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:

 enter image description here

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);
    }
}
14
Can Poyrazoğlu

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>
37
Mehmet K

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

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.

4
tomaset22

Sie haben möglicherweise eine Aktionsleiste in Ihrem Layout oder legen ein Thema in der AndroidManifest-Datei fest 

3
GetRealRenz

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'
}
1
Denis

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

0
IntelliJ Amiya

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>
0
Taras Okunev

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.

0
Kristelle