当我尝试通过AndroidManifest设置主题时出现错误。在构建时,错误是" 找不到与给定名称匹配的资源(在'主题'有价值' @ styles / MainApplicationStyle')"
我已经清理了项目,并重建了几次。我也从编译器收到消息和警告,其形式为"无法找到元素'(此处属性)的架构信息。'所有这些消息和警告都来自AndroidManifest。
的AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="TheTipApp.TheTipApp" android:versionCode="1"
android:versionName="1.0" android:installLocation="auto">
<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="25" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<application android:label="TheTipApp" />
<application android:theme="@styles/MainApplicationStyle"/>
</manifest>
styles.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="MainApplicationStyle" parent="Theme.AppCompat.Light">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
</style>
</resources>
我还尝试在AssemblyInfo.cs文件中设置主题,不确定它是否可能造成问题。
的AssemblyInfo.cs
[assembly: AssemblyTitle("TheTipApp")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("TheTipApp")]
[assembly: AssemblyCopyright("Copyright © 2017")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
[assembly: ComVisible(false)]
[assembly: Application(Theme = "@styles/MainApplicationStyle")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
我不确定这是否与此有关,但我也有 Xamarin.Android.Support.v7.AppCompat 和 Xamarin.Android.Support.v4 < / strong>已安装。
答案 0 :(得分:0)
您需要使用@style
代替@styles
。其次,您的<application>
AndroidManifest.xml
节点
只需要
<manifest>
和<application>
个元素。它们必须存在且只能出现一次。
来源:https://developer.android.com/guide/topics/manifest/manifest-intro.html#filec