错误:java.lang.IllegalStateException:您需要在此活动中使用Theme.AppCompat主题(或后代)

时间:2016-01-27 07:58:26

标签: android android-theme android-styles

<activity
    android:name="com.luckyxmobile.timers4meplus.activity.WidgetConfigActivity"
    android:theme="@style/Theme.PageIndicator.Dark">
    <intent-filter>
        <action android:name="android.appwidget.action.APPWIDGET_CONFIGURE" />

        <category android:name="com.jakewharton.android.viewpagerindicator.sample.SAMPLE" />
    </intent-filter>
</activity>


<style name="Theme.PageIndicator.Dark" parent="android:Theme">
    <item name="tpi_tabPadding">12dp</item>
    <item name="tpi_tabRipple">@style/DarkTabRippleStyle</item>
    <item name="tpi_indicatorHeight">3dp</item>
    <item name="tpi_indicatorColor">@color/colorPrimary</item>
    <item name="android:textAppearance">@style/DarkTabTextAppearance</item>
    <item name="android:background">@color/colorAccent</item>
    <item name="tpi_mode">scroll</item>
</style>

以上是主题和风格。当我运行应用程序时,显示此错误。我想也许它应该是“Theme.AppCompat”而不是“android:Theme”,但不确定!

1 个答案:

答案 0 :(得分:2)

您的logcat是什么抛出

Error :java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity

我想,您需要扩展AppCompatActivity

public class WidgetConfigActivity extends AppCompatActivity {
  // ...
}
  

AppCompatActivity来自appcompat-v7库。主要是这个   提供动作栏的后退。由于本机动作栏是   在API Level 11中添加,您不需要AppCompatActivity。   但是,当前版本的appcompat-v7还会添加有限的后端   材料设计美学,在动作栏和   各种小部件。

您可以使用Theme.AppCompat代替android:Theme