web-dev-qa-db-fra.com

Ne demandez pas Window.FEATURE_ACTION_BAR et définissez windowActionBar sur false dans votre thème pour utiliser une barre d'outils à la place

Je rencontre ce problème lorsque j'ai appliqué la barre d'outils dans mon application et elle s'est bloquée lorsque j'essaie d'exécuter l'application. J'ai utilisé tous les articles précédents mais pas de chance. Voici mon code:

Style.xml

<style name="ToolBarStyle" parent="@style/Theme.AppCompat.Light">
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>       

 </style> 

J'ai essayé parent = "@ style/Theme.AppCompat.Light.NoActionBar" mais je n'ai pas fonctionné.

Toolbar.xmal

<?xml version="1.0" encoding="utf-8"?>
<Android.support.v7.widget.Toolbar xmlns:Android="http://schemas.Android.com/apk/res/Android"
    xmlns:local="http://schemas.Android.com/apk/res-auto"
    Android:id="@+id/toolbar"
    Android:layout_width="match_parent"
    Android:layout_height="wrap_content"
    Android:background="?attr/colorPrimary"
    Android:minHeight="?attr/actionBarSize"
    Android:theme="@style/ToolBarStyle" />

Manifest.axml

    <application Android:label="Capzure" Android:theme="@style/ToolBarStyle" Android:icon="@drawable/Icon"></application>

Je vous remercie.

17
Uddhao Pachrne

Votre thème devrait ressembler à ceci et supprimer @style/:

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

Ensuite, ne définissez pas le thème dans <application/> tag. Définissez-le uniquement avec l'activité que vous souhaitez utiliser le thème de conception matérielle, c'est-à-dire dans <activity> tag.

Si votre activité s'étend sur PreferenceActivity, AppCompatActivity ou ActionBarActivity, avec laquelle vous souhaitez commencer la transaction avec PreferenceFragment, changez votre thème en:

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

Et supprimez cette ligne de votre barre d'outils:

Android:theme="@style/ToolBarStyle" 
22
Anggrayudi H