【问题标题】:appcompat-v7:25.3.0 : AppCompat does not support the current theme features: { windowActionBar: false, windowActionBarOverlay: false, . }appcompat-v7:25.3.0 :AppCompat 不支持当前主题功能:{ windowActionBar: false, windowActionBarOverlay: false, . }
【发布时间】:2017-08-07 11:32:02
【问题描述】:

我在运行时遇到以下错误,并且活动没有开始。错误显示在setContentView(R.layout.activity_main); 请帮助。

我正在使用以下库:

compile project(':library')
compile 'com.google.android.gms:play-services-maps:10.2.0'
compile 'com.android.support:appcompat-v7:25.3.0'
compile 'com.android.support:design:25.3.0'
compile 'com.parse:parsetwitterutils-android:1.10.5'
compile files('libs/bolts-android-1.2.0-javadoc.jar')
compile files('libs/bolts-android-1.2.0.jar')
compile files('libs/listviewanimations_lib-core-slh_3.1.0.jar')
compile files('libs/listviewanimations_lib-core_3.1.0.jar')
compile files('libs/listviewanimations_lib-manipulation_3.1.0.jar')
compile files('libs/nineoldandroids-2.4.0.jar')
compile files('libs/Parse-1.9.1.jar')
compile files('libs/parse-android-1.13.3.jar')
compile files('libs/ParseCrashReporting-1.9.1.jar')
compile files('libs/picasso-2.5.0.jar')
compile files('libs/universal-image-loader-1.9.3.jar')

错误是:

AndroidRuntime: 致命异常: main 进程:com.app.android.hashmap,PID:26336 java.lang.RuntimeException:无法启动活动 ComponentInfo{com.app.android.hashmap/com.app.android.hashmap.MainActivity}:java.lang.IllegalArgumentException:AppCompat 不支持当前主题功能:{ windowActionBar:false ,windowActionBarOverlay:假,android:windowIsFloating:假,windowActionModeOverlay:假,windowNoTitle:假} 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 在 android.app.ActivityThread.-wrap11(ActivityThread.java) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) 在 android.os.Handler.dispatchMessage(Handler.java:102) 在 android.os.Looper.loop(Looper.java:148) 在 android.app.ActivityThread.main(ActivityThread.java:5417) 在 java.lang.reflect.Method.invoke(本机方法) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 引起:java.lang.IllegalArgumentException:AppCompat 不支持当前主题功能:{ windowActionBar: false, windowActionBarOverlay: false, android:windowIsFloating: false, windowActionModeOverlay: false, windowNoTitle: false } 在 android.support.v7.app.AppCompatDelegateImplV9.createSubDecor(AppCompatDelegateImplV9.java:474) 在 android.support.v7.app.AppCompatDelegateImplV9.ensureSubDecor(AppCompatDelegateImplV9.java:328) 在 android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:289) 在 android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140) 在 com.app.android.hashmap.MainActivity.onCreate(MainActivity.java:49) 在 android.app.Activity.performCreate(Activity.java:6237) 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 在 android.app.ActivityThread.-wrap11(ActivityThread.java) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) 在 android.os.Handler.dispatchMessage(Handler.java:102) 在 android.os.Looper.loop(Looper.java:148) 在 android.app.ActivityThread.main(ActivityThread.java:5417) 在 java.lang.reflect.Method.invoke(本机方法) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

【问题讨论】:

    标签: android android-layout


    【解决方案1】:
    <item name="windowActionBar">false</item>
       <item name="windowNoTitle">true</item> 
    

    仅在您在 styles.xml 中找到的主题中设置此项,并且 删除这个。

    android:windowIsFloating: false
    windowActionBarOverlay: false
    windowActionBar: false
    

    【讨论】:

      【解决方案2】:

      Android 开发人员对 windowNoTitle 标志进行了更多限制,因为他们在 22.1.0 版本中引入了高度依赖 windowNoTitle 标志的 AppCompatDialogs

      所以要解决您的问题,请使用您的主题父级 - Theme.AppCompat.NoActionBar

      如果您的要求不适合,请在需要时使用单独的主题 -

      例如——

      <style name="MyTheme" parent="Theme.AppCompat">
          ...
      </style>
      
      <style name="MyTheme.NoActionBar">
          <!-- both your properties are there -->
          <!-- Remove other ones.. i.e. windowActionBarOverlay and all -->
          <item name="windowActionBar">false</item>
          <item name="windowNoTitle">true</item>
      </style>
      

      参考 - Android developer's blog

      【讨论】:

      • 感谢@kiranbennyjoseph 和向导。它就像一个魅力。
      • 这对我不起作用。仍然出现同样的错误。
      猜你喜欢
      • 2017-12-08
      • 1970-01-01
      • 1970-01-01
      • 2015-08-20
      • 1970-01-01
      • 2018-01-20
      • 2015-06-29
      相关资源
      最近更新 更多