AppCompat 库不包括 Theme.AppCompat。 "You need to use a Theme.AppCompat theme (or descendant) with this a



所以我基本上想在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创建一个样式,它说:

无法解析"主题.应用兼容">

目前我正在使用这个:

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

我该怎么办?

使用 Activity而不是 AppCompatActivity。

改变:

public class MainActivity extends AppCompatActivity

自:

public class MainActivity extends Activity

正如错误所说,您需要为您的活动使用 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 官方文档中找到有关样式和主题的更多信息

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

在本教程中,如果您使用的是 AppCompactActivity,则可以用于样式parent属性:Theme.AppCompat.Light.NoActionBar 或Theme.AppCompat.Light.DarkActionBar

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

我希望这有效。

相关内容

最新更新