Nicht Wunsch-Fenster.FEATURE_ACTION_BAR Problem
Ich versuche zu bauen, meine app aber ohne Erfolg.. ich habe versucht, einige Weg, aber es wurde nichts gearbeitet. Die Ausnahme ist:
Caused by: java.lang.IllegalStateException: This Activity already has an action bar supplied by the window decor. Do not request Window.FEATURE_ACTION_BAR and set windowActionBar to false in your theme to use a Toolbar instead.
Meine style.xml ist:
<resources>
<style name="AppTheme" parent="Theme.AppCompat.Light">
<!-- theme customizations -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowActionBar">false</item>
<item name="android:textColorPrimary">@color/ldrawer_color</item>
<item name="actionMenuTextColor">@color/ldrawer_color</item>
<item name="android:textColorSecondary">@color/ldrawer_color</item>
</style>
</resources>
und wie Sie sehen können, habe ich erklärt
<item name="android:windowNoTitle">true</item>
<item name="android:windowActionBar">false</item>
Dies ist mein manifest.xml
<application
android:allowBackup="true"
tools:replace="android:icon"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
und meine BaseActivity
dass ich verwenden, um zu erweitern, andere Aktivitäten
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
public abstract class BaseActivity extends AppCompatActivity {
public Toolbar toolbar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(getLayoutResource());
toolbar = (Toolbar) findViewById(R.id.toolbar);
if (toolbar != null) {
setSupportActionBar(toolbar);
getSupportActionBar().setTitle(BaseActivity.this.getResources().getString(R.string.app_name));
//getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
}
protected abstract int getLayoutResource();
protected void setActionBarIcon(int iconRes) {
toolbar.setNavigationIcon(iconRes);
}
}
Ich weiß nicht, warum es abstürzt..Der einzige Weg, um die Anwendung zu starten, ohne Absturz, ist das Elternteil auf die style.xml in Theme.AppCompat.Light.NoActionBar
aber auf diese Weise die Statusleiste ist transparent und nicht eingefärbt...
InformationsquelleAutor der Frage End.Game | 2015-06-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Mit
Theme.AppCompat.Light
sagt Android, dass Sie den Rahmen, um eine ActionBar für Sie. Jedoch, erstellen Sie Ihre eigene ActionBar (aToolbar
), also Sie geben den Rahmen gemischten Signale, wie und wo Sie wollen, dass die ActionBar zu kommen.Da Sie über eine Symbolleiste, die Sie wollen
Theme.AppCompat.Light.NoActionBar
.Der nächste Schritt ist, um sicherzustellen, dass Ihre Symbolleiste gestaltet ist korrekt, das scheint zu sein, wo Sie in Probleme laufen. Style deine Toolbar wie eine ActionBar mit den Farben, die Sie definiert für Ihr Thema, Sie müssen ein Thema so:
Finden Sie unter "styling" - Abschnitt für die widget-Symbolleiste auf diese Android-Entwickler-blog-post für weitere Informationen.
InformationsquelleAutor der Antwort Tanis.7x
Vorausgesetzt, Sie haben diese Zeilen in
styles.xml
:Fügen Sie diese zusätzlichen Linien nach:
Dann fügen Sie diese zu Ihrer Tätigkeit im manifest:
Dass war die beste Lösung für mich, nach der überprüfung tutorials und andere Lösungen
InformationsquelleAutor der Antwort Alex Jolig
In meinem Fall, ich habe eine neue Aktivität und vergaß, Sie zu definieren, app:Thema in AndroidManifest.xml:
InformationsquelleAutor der Antwort Heisenberg
Habe ich das problem gelöst, nachdem Sie den Wert für die "android:theme" für die Activity im manifest von "@style/AppTheme" , "@style/AppTheme.NoActionBar":
InformationsquelleAutor der Antwort Fa Sche