升級到AppCompat版本22後出現以下錯誤。升級到v22後,AppCompat不支持當前主題功能
Caused by: java.lang.IllegalArgumentException: AppCompat does not support the current theme features
at android.support.v7.app.AppCompatDelegateImplV7.ensureSubDecor(AppCompatDelegateImplV7.java:363)
at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:246)
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:106)
以下是styles.xml
<?xml version="1.0" encoding="utf-8"?>
<resources
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<!--
Base application theme, dependent on API level. This theme is replaced
by AppBaseTheme from res/values-vXX/blah.xml on newer devices.
-->
<style name="AppBaseTheme" parent="Theme.AppCompat.Light">
<!--
Theme customizations available in newer API levels can go in
res/values-vXX/blah.xml, while customizations related to
backward-compatibility can go here.
-->
</style>
<!-- Application theme. -->
<style name="AppTheme" parent="Theme.AppCompat">
<!-- All customizations that are NOT specific to a particular API-level can go here. -->
</style>
<style name="NoActionBar" parent="Theme.AppCompat.Light.NoActionBar">
<item name="windowNoTitle">true</item>
<item name="windowActionBar">false</item>
</style>
<style name="topBarLeftIcon">
<item name="android:paddingLeft">@dimen/top_bar_left_icon_left_padding_default</item>
<item name="android:paddingRight">@dimen/top_bar_left_icon_right_padding_default</item>
<item name="android:paddingTop">@dimen/top_bar_left_icon_top_padding_default</item>
<item name="android:paddingBottom">@dimen/top_bar_left_icon_bottom_padding_default</item>
</style>
<style name="editTextStyle">
<item name="android:padding">@dimen/edit_text_padding_default</item>
</style>
<style name="Divider1">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">1dp</item>
<item name="android:background">@color/default_divider_color1</item>
</style>
<style name="Divider2">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">1dp</item>
<item name="android:background">@color/default_divider_color2</item>
</style>
<style name="Divider3">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">1dp</item>
<item name="android:background">@color/default_divider_color3</item>
</style>
<style name="VerticalDivider2">
<item name="android:layout_width">1dp</item>
<item name="android:layout_height">match_parent</item>
<item name="android:background">@color/default_divider_color2</item>
</style>
<style name="CustomActionBar" parent="Theme.AppCompat.Light">
<item name="android:actionBarStyle" tools:ignore="NewApi">@style/HomeActionBar</item>
<item name="android:actionMenuTextColor" tools:ignore="NewApi">@color/actionBarTitleColor</item>
<item name="android:homeAsUpIndicator" tools:ignore="NewApi">@drawable/up_icon</item>
<item name="actionBarStyle">@style/HomeActionBar</item>
<item name="actionMenuTextColor">@color/actionBarTitleColor</item>
<item name="homeAsUpIndicator">@drawable/up_icon</item>
<item name="windowActionModeOverlay">true</item>
<item name="colorPrimary">@color/bgBlue1</item>
<item name="colorPrimaryDark">@color/bgBlue1</item>
</style>
<style name="HomeActionBar" parent="Widget.AppCompat.Light.ActionBar.Solid.Inverse">
<item name="android:background" tools:ignore="NewApi">@drawable/action_bar_blue</item>
<item name="background">@drawable/action_bar_blue</item>
<item name="android:titleTextStyle" tools:ignore="NewApi">@style/HomeActionBar.Text</item>
<item name="titleTextStyle">@style/HomeActionBar.Text</item>
</style>
<style name="HomeActionBar.Text" parent="TextAppearance.AppCompat">
<item name="android:textColor">@color/actionBarTitleColor</item>
<item name="android:textSize">@dimen/action_bar_primary_action_font_size</item>
</style>
<style name="WhiteActionBar" parent="Theme.AppCompat.Light">
<item name="android:actionBarStyle" tools:ignore="NewApi">@style/WhiteActionBar.Style</item>
<item name="android:actionMenuTextColor" tools:ignore="NewApi">@color/signature_action_bar_title_color</item>
<item name="android:homeAsUpIndicator" tools:ignore="NewApi">@drawable/back_icon</item>
<item name="actionBarStyle">@style/WhiteActionBar.Style</item>
<item name="actionMenuTextColor">@color/signature_action_bar_title_color</item>
<item name="homeAsUpIndicator">@drawable/back_icon</item>
<item name="windowActionModeOverlay">true</item>
</style>
<style name="WhiteActionBar.Style" parent="Widget.AppCompat.Light.ActionBar.Solid.Inverse">
<item name="android:background" tools:ignore="NewApi">@color/white</item>
<item name="background">@color/white</item>
<item name="android:titleTextStyle" tools:ignore="NewApi">@style/WhiteActionBar.Style.Text</item>
<item name="titleTextStyle">@style/WhiteActionBar.Style.Text</item>
</style>
<style name="WhiteActionBar.Style.Text" parent="TextAppearance.AppCompat">
<item name="android:textColor">@color/signature_clear_button_text_color</item>
<item name="android:textSize">@dimen/action_bar_primary_action_font_size</item>
</style>
<style name="BoldDivider">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">1dp</item>
<item name="android:background">@color/default_heading_color</item>
</style>
<style name="BoldDividerInline">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">1dp</item>
<item name="android:background">@color/default_heading_color</item>
</style>
<style name="SemiBoldDivider">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">1dp</item>
<item name="android:background">@color/semibold_divider_color</item>
</style>
</resources>
我也曾嘗試解決建議here但它似乎並沒有工作。
任何幫助,非常感謝!
這裏是清單:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.arion.arionbookeeper"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="10"
android:targetSdkVersion="19" />
<uses-permission
android:name="android.permission.INTERNET"
android:required="true" />
<uses-permission
android:name="android.permission.ACCESS_NETWORK_STATE"
android:required="true" />
<uses-permission
android:name="android.permission.RECORD_AUDIO"
android:required="true" />
<uses-permission
android:name="ANDROID.PERMISSION.READ_EXTERNAL_STORAGE"
android:required="true" />
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:required="true" />
<uses-permission
android:name="android.permission.MODIFY_AUDIO_SETTINGS"
android:required="true" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-feature
android:name="android.hardware.camera"
android:required="true" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission
android:name="android.permission.READ_EXTERNAL_STORAGE"
android:maxSdkVersion="18" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<application
android:name=".WallPApplication"
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/CustomActionBar"
tools:replace="android:theme" >
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<service
android:name=".eventListeners.BackgroundEventListenerService"
android:exported="false"
android:icon="@drawable/ic_launcher" />
<activity
android:name=".GettingStarted"
android:label="@string/app_name"
android:noHistory="true"
android:screenOrientation="portrait"
android:theme="@style/NoActionBar" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<!-- Rest of activites -->
</application>
</manifest>
讓我看看你的Android Manifest文件。 –
您在Android清單中使用錯誤的主題我想讓我知道 –
@BhavdipPathar我已更新該帖子。你能說出有什麼不對嗎?謝謝 – gauravdott