2017-03-17 181 views
3

好吧,我得到这个错误(标题)。 许多职位建议我(甚至是Android工作室)改变主题,以App.Appcompat,我已经做到了。Android“你需要使用Theme.AppCompat主题(或后代)和设计库”

清单文件:

<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" /> 

但仍,没有任何改变。

我不知道发生了什么,因为我没有过(我没有在清单文件bfore添加App.compat)

摇篮之前这个问题:

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' 

的错误日志:

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) 

感谢您的帮助

+1

发布完整的清单... – rafsanahmad007

+1

为什么您使用支持库的测试版? – rafsanahmad007

+0

好吧,我编辑了我的文章。我只是遵循一个关于naviguation抽屉的教程,这个http://www.androidhive.info/2013/11/android-sliding-menu-using-navigation-drawer/,所以我使用了教程中解释的测试版本 –

回答

8

尝试这种变化:

的gradle中:

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' 

此外,在清单中的appcompat主题添加到您的Navaigation抽屉`活动

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

MainActivity使用@style/AppTheme.NoActionBar主题,它不是Theme.AppCompat

变化的后裔

<style name="AppTheme.NoActionBar">

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

相关问题