AppCompat theme



我需要你的帮助,关于AppCompat主题发生的问题。我的MainActivity是从AppCompatActivity派生的,主题是在Manifest中声明的,但是当我编译时,我得到了这个错误:

Java.Lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity

是包含主题的文件:

  <style name="MyTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <!--   your app branding color for the app bar -->
    <item name="colorPrimary">#3F51B5</item>
    <!--   darker variant for the status bar and contextual app bars -->
    <item name="colorPrimaryDark">#303F9F</item>
    <!--   theme UI controls like checkboxes, text fields and switchcompat button-->
    <item name="colorAccent">#00FFFF</item>
  </style>

这是明显的:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="test_vp.test_vp" android:versionCode="1" android:versionName="1.0" android:installLocation="auto">
    <uses-sdk android:minSdkVersion="16" />
    <uses-feature android:name="android.hardware.wifi" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <application android:label="@string/ApplicationName" android:theme="@style/MyTheme">
    </application>
</manifest>

你知道我怎么解决这个问题吗?提前谢谢你

更改显示的第一行代码:

<style name="MyTheme" parent="Theme.AppCompat.Light.NoActionBar">

<style name="MyTheme" parent="@android:style/Theme.AppCompat.Light.NoActionBar">

同样,在这个样式定义中,你只把子定义放在那里,你定义颜色等特征。这是一个嵌套定义的例子。让我试着清理一下:

首先定义你的样式,它引用你的次要样式:

<style name="MyTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="android:actionBarStyle">@style/MyTheme.ActionBarStyle</item>
</style>

第二个,在这个相同的xml中,你正在工作,下面你定义这个样式,它是在这个里面你选择颜色等。注意此子主题的名称-必须与parent:

上引用的名称相同。
<style name="MyTheme.ActionBarStyle" parent="@android:style/Widget.Holo.ActionBar">
<item name="colorPrimary">#3F51B5</item>
</style>

在某些情况下,您将不得不深入到这个嵌套中,通过详细的步骤来定义事物。回复:你不能直接更改内容,必须指定你想要自定义的每个细节部分。

try:

<style name="MyTheme" parent="@style/Theme.AppCompat.Light.NoActionBar"></style>

它在支持库中,所以提交"android:"部分

相关内容

最新更新