所以我基本上想在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">
请记住从colorPrimaryDark
和colorPrimary
中删除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">
我希望这有效。