web-dev-qa-db-fra.com

Android "Vous devez utiliser un thème Theme.AppCompat (ou un descendant) avec la bibliothèque de conception"

Ok, j'obtiens cette erreur (titre) . Plusieurs post m'ont suggéré (même en studio Android) de changer le thème, en App.Appcompat, je l'ai fait.

Fichier manifeste:

 <uses-permission Android:name="Android.permission.INTERNET" />

<application
    Android:allowBackup="true"
    Android:icon="@mipmap/ic_launcher"
    Android:label="@string/app_name"
    Android:supportsRtl="true"
    Android:theme="@style/Theme.AppCompat">
    <activity
        Android:name=".activity.MainActivity"
        Android:label="@string/app_name"
        Android:theme="@style/AppTheme.NoActionBar">
        <intent-filter>
            <action Android:name="Android.intent.action.MAIN" />

            <category Android:name="Android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <activity
        Android:name=".activity.ContactAcitivty"
        Android:label="@string/activity_title_contact" />
    <activity
        Android:name=".activity.CopyrightActivity"
        Android:label="@string/activity_title_copyright" />
    <activity Android:name=".activity.FormActivity">
            <intent-filter>
                <action Android:name="info.androidhive.navigationdrawer.activity.FormActivity" />

                <category Android:name="Android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>

</application>

Style.xml

    <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>
    <style name="AppTheme.NoActionBar">
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
</style>
<style name="AppTheme.AppBarOverlay"  parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />

MAIS encore, rien n'a changé.

Je ne sais pas ce qui s'est passé depuis que je n'avais pas eu ce problème auparavant (je n'ai pas ajouté App.compat dans le fichier manifeste avant)

Gradle:

compile 'com.Android.support:appcompat-v7:24.0.0-beta1'
compile 'com.Android.support:design:24.0.0-beta1'
compile 'com.Android.support:support-v4:24.0.0-beta1'
compile 'com.github.bumptech.glide:glide:3.7.0'
compile 'com.Android.support.constraint:constraint-layout:+'
testCompile 'junit:junit:4.12'

Le journal des erreurs:

Java.lang.IllegalArgumentException: You need to use a Theme.AppCompat theme     (or descendant) with the design library.    
at Android.support.design.widget.ThemeUtils.checkAppCompatTheme(ThemeUtils.Java:36)     
at Android.support.design.widget.NavigationView.<init> (NavigationView.Java:102)   
at Android.support.design.widget.NavigationView.<init>(NavigationView.Java:96)   
at Java.lang.reflect.Constructor.newInstance(Constructor.Java:423)  
at Android.view.LayoutInflater.createViewFromTag(LayoutInflater.Java:727)         at Android.view.LayoutInflater.rInflate_Original(LayoutInflater.Java:858)           

at Android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.Java:70)  
at Android.view.LayoutInflater.rInflate(LayoutInflater.Java:834)      
at Android.view.LayoutInflater.rInflateChildren(LayoutInflater.Java:821)
at Android.view.LayoutInflater.inflate(LayoutInflater.Java:518)  
at Android.view.LayoutInflater.inflate(LayoutInflater.Java:397)

 

Merci de votre aide

6
Kane Samba

essayez ces changements:

en grade:

compile 'com.Android.support:appcompat-v7:25.2.0'
compile 'com.Android.support:support-v4:25.2.0'
compile 'com.Android.support:design:25.2.0'

Ajoutez également le thème appcompat à votre tiroir Navaigation `Activity

<activity Android:name=".activity.FormActivity"
           Android:theme="@style/Theme.AppCompat">
            <intent-filter>
                <action Android:name="info.androidhive.navigationdrawer.activity.FormActivity" />

                <category Android:name="Android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
14
rafsanahmad007

Votre MainActivity utilise le thème @style/AppTheme.NoActionBar et il ne s'agit pas d'un descendant de Theme.AppCompat.

Changement 

<style name="AppTheme.NoActionBar">

à

<style name="AppTheme.NoActionBar" parent="AppTheme">

3
Roman Kolomenskii

Si vous utilisez une disposition de contrainte, assurez-vous que vous utilisez la version supérieure ou égale à 1.1.3. J'avais cette erreur quand j'utilisais la version 1.0.2

0
Ezio