2016-05-16 3 views
0

Ich entwickle ein Android-Bibliotheksmodul, und ich möchte Material Design verwenden. Aber wenn ich meine Bibliothek in einer anderen Anwendung enthalten, die Vormaterial ActionBar verwendet, habe ich diesen Fehler:Mein Bibliotheksmodul verursacht einen Fehler in einer nicht-materiellen App

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.

ich in der Lage bin zu den Fehlern nur verschwinden, wenn das ‚Eltern‘ App verwendet auch eine Toolbar statt einer ActionBar, dh wenn es auch mit Material Design thematisiert ist.

Ich möchte jeder App erlauben, diese Bibliothek zu verwenden, egal welches Thema sie verwenden.

In meiner Bibliothek habe ich die AppCompat-Lib hinzugefügt und es kompatibel zu Jelly Bean gemacht, nach allen Richtlinien. Gibt es eine Möglichkeit, zu verhindern, dass das Thema der übergeordneten App das Fensterdekor durchdringt und fordert?

+0

Mögliche Duplikat [Diese Aktivität hat bereits einen Aktionsleiste geliefert durch das Fensterdekor] (http://stackoverflow.com/questions/26515058/this-activity-ready-has-an-action-bar-supplied-by-the-window-decor) – Bharatesh

+0

@skadoosh Nein, gibt es etwa ein Dutzend ähnliche Fragen zu SO, aber alle befassen sich mit dem Problem in einem einzigen Modul. – ygesher

+1

Ich denke, das Problem ist mit Stilen. Erstellen Sie ein Basisthema im lib-Modul und verwenden Sie es im App-Modul. –

Antwort

0

Überprüfen Sie Ihre styles.xml .. Es sollte etwas wie dieses:

<style name="AppTheme" parent="MyMaterialTheme"> 
    <!-- Customize your theme here. --> 
</style> 

<style name="MyMaterialTheme" parent="MyMaterialTheme.Base"> 

</style> 

<style name="MyMaterialTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar"> 
    <item name="windowNoTitle">true</item> 
    <item name="windowActionBar">false</item> 
</style> 

Und auf AndroidManifest.xml Satz Aktivität Thema: AppTheme

+0

Bitte lesen Sie die Frage erneut. Meine Bibliothek funktioniert einwandfrei, ich möchte nur, dass jeder sie in ihrer App verwenden kann, egal, welches Thema sie verwenden. – ygesher

Verwandte Themen