AppCompat库不包含Theme.AppCompat。 “你需要在这个活动中使用Theme.AppCompat主题(或后代)”

时间:2017-07-02 14:49:58

标签: android android-studio android-support-library android-appcompat android-theme

所以我基本上想在AndroidStudio中构建一个TabActivity,我正在使用AppCompatActivity

如果我运行我的代码,我会收到类似的错误:

  

您需要将Theme.AppCompat主题(或后代)与此活动一起使用

我在gradle中使用它:

compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:design:25.3.1'
compile 'com.google.firebase:firebase-database:10.2.0'
compile 'com.android.support:cardview-v7:25.3.1'
compile 'com.parse:parse-android:1.15.8'
compile 'com.google.firebase:firebase-auth:10.2.0'
compile 'com.facebook.android:facebook-android-sdk:[4,5)'
compile "com.android.support:support-core-utils:25.4.0"
compile 'com.android.support:appcompat-v7:25.4.0'

如果我想创建一个Theme.AppCompat的样式,它会说:

  

无法解析'Theme.AppCompat'

目前我正在使用它:

<style name="AppTheme" parent="android:Theme.Material.Light">
    <item name="android:colorPrimaryDark">@color/primary_01</item>
    <item name="android:colorPrimary">@color/action_bar_01</item>
    <item name="android:textColorPrimary">@color/status_bar_color</item>
    <item name="android:editTextStyle">@style/EditTextStyle</item>
    <item name="android:actionModeBackground">@color/action_bar_01</item>
    <item name="android:windowBackground">@color/background_app</item>
</style>

我该怎么办?

4 个答案:

答案 0 :(得分:0)

使用Activity而不是AppCompatActivity。

更改:

public class MainActivity extends AppCompatActivity

要:

public class MainActivity extends Activity

答案 1 :(得分:0)

如错误所述,您需要为您的活动使用Theme.AppCompat主题。这意味着您应该从

更改样式父级

<style name="AppTheme" parent="android:Theme.Material.Light">
进入类似的东西 <style name="AppTheme" parent="Theme.AppCompat.Light">

请记得从colorPrimaryDarkcolorPrimary删除Android前缀,以便它们变为

<item name="colorPrimaryDark">@color/primary_01</item> <item name="colorPrimary">@color/action_bar_01</item>

您可以从官方Android文档中找到有关Styles and Themes

的更多信息

答案 2 :(得分:0)

尝试将compile 'com.android.support:support-v4:25.4.0'添加到您的gradle文件

答案 3 :(得分:0)

this教程,如果您正在使用AppCompactActivity,则可以使用样式parent属性: Theme.AppCompat.Light.NoActionBar Theme.AppCompat .Light.DarkActionBar

即:<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">

我希望这有效。