我需要你的帮助,关于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:"部分